From 1888145ee0f3ffc614bbc0f8a75a6afb0ad40393 Mon Sep 17 00:00:00 2001 From: Fisher2911 Date: Sun, 6 Mar 2022 16:37:48 -0500 Subject: [PATCH] Fixed ProtocolLib enum null error on first call --- common/build.gradle.kts | 4 +-- .../command/CosmeticsCommand.class | Bin 17214 -> 17302 bytes .../config/ActionSerializer.class | Bin 18335 -> 18337 bytes .../config/DyeGuiSerializer.class | Bin 7874 -> 7874 bytes .../hmccosmetics/config/GuiSerializer.class | Bin 5306 -> 5306 bytes .../hmccosmetics/config/ItemSerializer.class | Bin 10508 -> 10508 bytes .../hmccosmetics/config/Settings.class | Bin 1526 -> 1526 bytes .../config/WardrobeSettings.class | Bin 8642 -> 8664 bytes .../hmccosmetics/database/Database.class | Bin 12533 -> 12592 bytes .../database/DatabaseConverter.class | Bin 8067 -> 7933 bytes .../database/DatabaseFactory.class | Bin 4936 -> 4936 bytes .../hmccosmetics/database/DatabaseType.class | Bin 1210 -> 1210 bytes .../database/dao/ArmorItemDAO.class | Bin 4341 -> 4333 bytes .../hmccosmetics/database/dao/UserDAO.class | Bin 4221 -> 4221 bytes .../hmccosmetics/gui/CosmeticGui.class | Bin 14774 -> 14764 bytes .../hmccosmetics/gui/CosmeticsMenu.class | Bin 13113 -> 13096 bytes .../hmccosmetics/gui/DyeSelectorGui.class | Bin 11275 -> 11244 bytes .../hmccosmetics/hook/HookManager.class | Bin 6285 -> 6285 bytes .../hmccosmetics/hook/item/ItemHook.class | Bin 312 -> 312 bytes .../hmccosmetics/hook/item/ItemHooks.class | Bin 1786 -> 1786 bytes .../hook/item/ItemsAdderHook.class | Bin 2642 -> 2642 bytes .../hmccosmetics/hook/item/OraxenHook.class | Bin 1158 -> 1158 bytes .../hmccosmetics/listener/ClickListener.class | Bin 8499 -> 8499 bytes .../listener/CosmeticFixListener.class | Bin 3769 -> 3769 bytes .../hmccosmetics/listener/JoinListener.class | Bin 5858 -> 6014 bytes .../hmccosmetics/listener/MoveListener.class | Bin 1933 -> 1933 bytes .../listener/PlayerShiftListener.class | Bin 2979 -> 3067 bytes .../listener/RespawnListener.class | Bin 3534 -> 3534 bytes .../listener/TeleportListener.class | Bin 2245 -> 2245 bytes .../listener/WardrobeClickListener.class | Bin 3126 -> 3126 bytes .../hmccosmetics/message/Adventure.class | Bin 1675 -> 1675 bytes .../hmccosmetics/message/ErrorMessages.class | Bin 519 -> 519 bytes .../message/MessageHandler$1.class | Bin 1000 -> 1000 bytes .../hmccosmetics/message/MessageHandler.class | Bin 10810 -> 10795 bytes .../hmccosmetics/message/Messages$1.class | Bin 1163 -> 1163 bytes .../hmccosmetics/message/Messages.class | Bin 7373 -> 7365 bytes .../hmccosmetics/message/Permission.class | Bin 952 -> 952 bytes .../hmccosmetics/message/Placeholder.class | Bin 2586 -> 2586 bytes .../hmccosmetics/message/TitleMessage.class | Bin 1185 -> 1185 bytes .../hmccosmetics/message/Translation.class | Bin 2730 -> 2730 bytes .../hmccosmetics/packet/PacketManager.class | Bin 11193 -> 11193 bytes .../hmccosmetics/task/DataTask.class | Bin 1666 -> 1666 bytes .../hmccosmetics/task/ImmediateTask.class | Bin 681 -> 681 bytes .../hmccosmetics/task/InfiniteTask.class | Bin 678 -> 678 bytes .../hmccosmetics/task/SupplierTask.class | Bin 1121 -> 1121 bytes .../hmccosmetics/task/SyncedTask.class | Bin 774 -> 774 bytes .../hmccosmetics/task/TaskChain.class | Bin 3090 -> 3090 bytes .../hmccosmetics/task/TaskManager.class | Bin 2716 -> 2716 bytes .../fisher2911/hmccosmetics/user/User.class | Bin 4331 -> 5126 bytes .../hmccosmetics/user/UserManager$1.class | Bin 1117 -> 1117 bytes .../hmccosmetics/user/UserManager.class | Bin 15586 -> 15586 bytes .../hmccosmetics/user/Wardrobe.class | Bin 13262 -> 15229 bytes .../fisher2911/hmccosmetics/util/Keys.class | Bin 3738 -> 3738 bytes .../hmccosmetics/util/StringUtils.class | Bin 2514 -> 2514 bytes .../fisher2911/hmccosmetics/util/Utils.class | Bin 4263 -> 4263 bytes .../util/builder/ColorBuilder.class | Bin 2776 -> 2776 bytes .../util/builder/ItemBuilder.class | Bin 7931 -> 7931 bytes .../util/builder/SkullBuilder.class | Bin 3073 -> 3073 bytes common/build/resources/main/config.yml | 2 ++ common/build/resources/main/messages.yml | 4 +++ .../compileJava/previous-compilation-data.bin | Bin 62740 -> 62728 bytes .../command/CosmeticsCommand.java | 2 +- .../hmccosmetics/config/WardrobeSettings.java | 13 +++++----- .../hmccosmetics/database/Database.java | 23 ++++++++++++------ .../database/DatabaseConverter.java | 4 +-- .../database/dao/ArmorItemDAO.java | 3 +-- .../hmccosmetics/listener/JoinListener.java | 2 +- .../listener/PlayerShiftListener.java | 2 +- .../hmccosmetics/message/Messages.java | 2 +- .../hmccosmetics/packet/PacketManager.java | 6 ++++- .../fisher2911/hmccosmetics/user/User.java | 11 +++++++++ .../hmccosmetics/user/Wardrobe.java | 18 +++++++++++++- common/src/main/resources/config.yml | 2 ++ common/src/main/resources/messages.yml | 4 +++ 74 files changed, 76 insertions(+), 26 deletions(-) diff --git a/common/build.gradle.kts b/common/build.gradle.kts index fd4e23b2..23dcc315 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -57,7 +57,7 @@ tasks { compileJava { options.encoding = Charsets.UTF_8.name() - options.release.set(16) + options.release.set(17) } shadowJar { @@ -88,7 +88,7 @@ tasks { } java { - toolchain.languageVersion.set(JavaLanguageVersion.of(16)) + toolchain.languageVersion.set(JavaLanguageVersion.of(17)) } bukkit { diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.class index cd0b012d72aa84e008e83aa3cfe2cb037466abb9..43a266c14fa5139cdabb30368cb777ac294163d1 100644 GIT binary patch delta 4360 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 FF90)yCgA`8 delta 4424 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 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ActionSerializer.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ActionSerializer.class index 3e7e9098cadae586bbb897c0f372ede3a6cce66e..07c1288a3511e4cad8e0dea70aaf824017664f30 100644 GIT binary patch delta 46 zcmbQ=&$zIkk>k|AUHcdq7;HCkY||6uEl4aWF|jnWR4GZ#EnsAjpKK>3zxj>cW(fd> CKM&FX delta 32 ocmZ43&p5xIk>k|AUHcdq7;H9jY|~@sF33r&OfA}cT2Fd^c diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ItemSerializer.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/ItemSerializer.class index 65d0142bc9d169820751fcfb74f5a9665697443c..d6a5468d871c2134e8867714f2c7e05d4965dd61 100644 GIT binary patch delta 17 YcmeAP>IvdF^>5cc1_lP(jT|hR0754QC;$Ke delta 17 YcmeAP>IvdF^>5cc1_lP3jT|hR074=LCjbBd diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/Settings.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/Settings.class index 840878a42b4396fef5705a0623511584fd7d8a58..755f476ff196dae19116a9d041ba2aaf8e52b39b 100644 GIT binary patch delta 17 Zcmeyy{f(RB)W2Q(7#J9AH*&mV1pr9J2Q&Zx delta 17 Zcmeyy{f(RB)W2Q(7#J9AHgddU1pr9E2QvTw diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.class index 33bb3a99f09f69588d67ebb06f54f062ecbda407..507bdbd6f81f149f31d4bc23a010a73d12726378 100644 GIT binary patch delta 2984 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 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/Database.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/Database.class index 6dd04d7e3b439019da14526b97f12b352fd216e8..f97ec9c3900fcbb9f77a56078b36435f1e233a4e 100644 GIT binary patch literal 12592 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 RQ9PxNp+-HV9#L;W^k>=Kp#J~> diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.class index dbd441a0bc811a8afee2bf4a4b70598e0472cb6e..94aa9e220687b57081b80ecae87325d4d3e6b2d4 100644 GIT binary patch delta 1725 zcma)6TW}Lq82zoWU}Mpd-wvJTSg_L**u-h&SY_U?6@;DLVL|vpakK^Zoa;-+y*B z-I}H!yM5?=0MlgUK7EJLq$7&Y4Sa#)0(WOP-WJ{#Z|RPA#S_5}L0)xDP{$|u%76`D z3+&awV6bMXjvk!MLZ_@I*Feb`19S0>K&=ke1fBR6=QMn0;Cste;8TAP1guMXg>|aX zrRz9?9}WD3pRJC9SoL}QYTzP%W8hdgJ}VI(jIq>-%ebQ9s)2S~6Zox=*KhgUzQw-_ ziq?g;gaWarBZ0*WTU)lR4sVQiMZ0xeN5qLf+%)hf>;l{BNHiAKa7$2_^N57HI|EDB zZi;RVt%`(oq>(WMB37?EpynB(T8G@FrSx>qS~Pz_`H~sUtu5u7W8qDVDh@;PalHSk zd#A175nX0TvnDeQOqN+zPtk{!vjv`xP&~9M6bnmN_nPRq#D<95E^~DW%A=Y*W=N~d z>yM03#eL14FAJQA%R)mI$zm&6JV9M17-O9&F4IT1Mx*ODZ`5Rkb+WjjSQjTNH2Av| zalt1AsL$@L+LBV6o6<0AUP-xltnQNHfR|R~$m7>7g)*EgB|gI-ImrnF3gs2B=REh9 z9H-|Vb7eB?xd;yQ!X`yBg8Fxm4@-)nQFHiCG!NdE5-}N}3VX#zNx@7!BYqjltjp1f z7FMewgeRp`${6cDdKvg_3|D0gB}FP(@AG(p(l9Dq(3uIc!TaL8 zvHPJ7;3e&}>34T7 z(>MyJX*Z1lTv%qhj>2oYikt)Zg_tXg)tZhJE-C2CJkbZe(Pr8P@JHQIRMn+$LrC4S zMwQ#5p{+p^HEVR+R1YWn;ApF(!`)(2q9{n=HS$|*DZHVetu7^+VA=nTITUgq|8pfy z<1A;W3>WxKBQ1*9xaNt6T)Hm)dYLLg!tbe7p7b>yy-#Wu(|36Qn@sFCrMT$qBla0vi21+nxmQ}GTD@&(yqaw;j)HN8u~Q6r}3^u2D?#^{I^EK5e>&Q^yJJ(iH7rh zfx--Xw%ub7G;6qi6ZTdO=?q8X9)mRKpLX1UlC@Ja2tfU3h)_=d-;Q^N@nQBpH8+;i fWI9(b&!CCDw#Xc6+Q_mc(oS3_wp5nO<1qgM5sp@s delta 1860 zcma)6Yiv_x7=E6!)1LP9w1thWJ00u-!aC+Gf^2Nu9NU0$890G)kxNqw4xuw$$3>7L z#*nBn(W8l%9~u&~KWaosNsS67Ium|qj6v~+ig#p!h;kduw;cnNADEn+@BN^V>A+vZjcT{PM{*B;}d*qz=rP#dmt1FRV>o66W?c`AFL0I)VQAv%*4-x8VFT{ zT=*5oHT-7a1X>99H3Dlz~5R+B)Ix2=w5Lfxqy#wCIQ?8n;CI zt1WWj9L{UFU|=CG5=GW4YLT_uc?;|wgI*lnyUn}9=9#W@ z24`vv8JNIXmY)9}=U5-*`#jA$=W)Kqy9~DQ?!9O7ReCRaofNtWwi;Z_C6?wJt1c%- zS}zt1vzGdFbtO@p-8|y+)ehodkh!7&g?aFE2*wZWF#@^pVvzW9;esKn3OO6|C8EGO z>?SiupzMQV+dEJNb^ zkx_z_3sM8^5~gSvEKhIdZJjj72%l1aWioRDPnPL)48aVT2wlhCe}xI)&-S83`x#(` ze64|A{m5uRGQCtNLsV9ZrSMka`zRh0t3Vt@(4`Z&HTUtkqxV5e;fdU*tV8~4zG|^3 zkj!BFa5#m}uUY%?&3+uKbC{|vjrSGQIZf5xZ|SD0rSYSJYL{sd zcW%?@hRd{@MhYieO?NkPO?SR4g+B#zXRu1sk;YjC$*#V6UC`@nrY(ibRoy7BN~4eH zLUElc+x&s8At9;+Q8m>AU2rs4N&M9VrRh+R#`8oTU1_|ept&kdH_>{NlJjq z3OzW5UKHajRhc85gP2DJIV=$o^s<4o*edvPMz}`Sa>m&y@u~=|ZD>t0j#bzua@d8{ zcoI>(fHim-_hK*F@GjP&8~5QuY>=BJCihi4jv0{p z6GvdP{OYY7BT^iX2ibt_oP{J?1&iY$>7V3A?BD~~napY_CG#^AyIIBCMCl9h41f?R#4volmH z)+l_;I!+V~7L%OB$w=l1TUAD^R=!vRf}A2?j2LmGBw!^^0l zM;;)rPtI)nPdqS9L+=IH=V(;=WPJV|AVQ!x9Ot2A;?zC_p3z%CmuB4=w8eM0EdzYe*gdg delta 28 kcmdnRxrw8%m>3z%CmuB4=w8eM0EdDIegFUf diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.class index ebba4363e54ea71c63c72c69c36225a03e81be05..f327a2a9a377f6d7daa39d5ace36bd9f1d3c03b8 100644 GIT binary patch delta 203 zcmeyW_*RkQ)W2Q(7#J9AH*(zNW^|nVj9Y`1je(JYVX`z&xTp>TCxb2nFM}QfKZ5~- z2!kPm41>|+cAh3iv&n^gqLbx$HCU|}SQ)G*-{TdZoXl&%=sbB2uPv)PP|O1;=FaL3 zWch$)9r^Sb{eik{S%ZOMAz-mnK(TPJN&Ng8tkFR67_fLSf2M2#keA57&XCL?#*o4w j!H~uv%a9IqMFxX0L;B>K{3VRJll=sI8H*;*5r_l;L<29R delta 187 zcmWN_y$-=(7>42JBaI4Q+r&={IDNP6iLBc=?77IIZ3a_&;Sq%=rX0cgq z7Kv57+kM^d#5bYdewQnN>REjTgiEhLT59m}Nx?uGQ3?h7kqrFELLvtp1%y#V92V_@ z2T>-EtSJ>JsFE$)!lom;!FK5(>q?WWMM=#O9a?EMrOWQoi9MhXd&C}7N#C0jt|@$& dA&NO-Sir;*d8}YzNq2oK*5nv1v7w_e`~%@SC_MlG diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/UserDAO.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/database/dao/UserDAO.class index eeedbae950bf9541cd6de4a0616aabc2ba4aa276..402b45d774f6733367943c936aa1410deb781749 100644 GIT binary patch delta 17 ZcmeyX@K=H3)W2Q(7#J9AH*%B;002ug2L1p5 delta 17 ZcmeyX@K=H3)W2Q(7#J9AHgc2-002ub2K@j4 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.class index 7eb2cbdda8376ee24ea73069e694a89ab7e63bfa..ace32e88d98e1dadcab0816cbbb4a117f44a2165 100644 GIT binary patch delta 474 zcmX|-ODjZi7{-4ub7l@^h*B=OWMjdgXcl56N_HY5ghF(3nQ>j1g`MrB406BU87wSl zERav&E7)5~-gBCC7Vqpbu8c^-o2LG$DH@d>EEF+VF(zA;GG*HPrFqSzBB6vbN> z$*$Z9SJFup-2~{Ro<5rBrQb(7IqF(&6x(1|ZW+g| zn6nA%0Fx4vJ5m(2H*sWuM!8p)G{q~BO$zZUWR`5nHa^)`}r2wH(pNF&#QPdD70F8PPe$i<7=p|1BXP zujDCgErs$X?|AUhB6d8(cK+|d5>4*_SxzXs2Fro9Yp^6PFSu+-4>`Dh$d4`5)ER$j CJYzBd delta 484 zcmX|-O=}Zj6osFgW+pS5RLMd*1xpq}S4NAii=+@J6r=$cf*^iGt6)G8+i7a-qGapN zMK&f%8%fec6Ki5j7A_*`qKd!3zu-?0f_P^LUET9uUe0;$X>Sd-tY81W4T0sZ^*e6= z#b8=r?c$$!ES#_%dql28#IcKKFTF1;a*HMIkR-zj_erzPbslk>$NI|hP<56kJm)F9 zJmVD`yvC(Wj(xVN@RAlgQqqVwoMC|}smlQt*HnFw8mGK)Da%`(p86;)#8*|R6$tpU zEuWb3)uDVQ=&O!&mEE8rUo_rS%>2YU$)@z=E4HF$CLvi?rLQih74N+4F-KS-qp~j* zBJxfh!;{#K3^1grn|VxYj1!#g^)DX=&RtMyOV{qjgz13sh1HNl1LoMaVui%Cn%yU(anN{KxbMixe5+X`kyc-SA{-g|7v;v>X^)K_f aaD8I03s**RM9?D*F@rfK*4tQIHvR+V>SXBv diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.class index b5a87388dfd8b04e068b5e7da76f236d347f07d8..6f898b56819c6113f8591b1de2574e19f7315450 100644 GIT binary patch delta 810 zcmX|<*-MmR6vm(Dbygk6aZ2RNq>TZ$#)U8))Y8lp3ne2%&%Q-^DrK;Vi%BoY&tn&|-Q2XEXqyc-Ru3 zme_?DSmp0lRuC>P;n@DU%&peCg737^6e8OVnm6dUn|*b7FzVLpR` z1DzWc$+&oeK90a3<4^H9U%)8ikMbp7!6X>f^m7zuj!C&qnyhENhLPhENrfpP44C0s z!wxfA%_v&KRx`@Ys809YO)sZ)Nx00CTB85XaIFhZ(u{garl&0rr$uI4R7j;H3F z6HqI@Gg%rrrC;CO#}qxsT~@iES)HwZ9#fb=tH-9~jd4+e#43O3uH2I`4RGqUxv9Q^+}r#I3o5?8 delta 829 zcmX|9-%C?*6#ty>e%wvxn#(2EA6Uu4pR-jgyC~)`Qwk&;5{W?ulZiq-WhF=wBtG=e z4P!p_5L%Y0O{-a&E6@llOPw0_L+c^vF9>FJc9ovaxrguP*SY7eKkPTX`7=HVpk&09 zl(VA?IwbJdtpY_a>mzUmVUhLfo}6lnVwTMj)CA#_&FY1m$_@t(AOjw_P>h36P>vE* zp%gxpp$Ug^i6>X!MJJBn8Y*!eN6~|7y2t!}R!N4A9?&2wHX)rJ(hy8>Wg4LST;ts^ z^@6l+gdRb_fzB;N1}>kZ5RF35@&Ov7$1t#59X+9^FtUvr3ez|wdd6@IlWe|v4g*c_ zBooGz7$Cv9fn5>;5=u6ZA)!LTvBJ>J+zK+Uv#+=xuez4!v?!7+Y2h8Rq+0Wp4iB1H zuSE+}#Y7$?Y7vZa$o~jl%}+dnm!@fkBN$M+6~TsmnnyjdkwvdL%ci#!=we7q$jDse@xuC$-iM9Vm3PYyvvK9)C%?Q(LMS_Fa&`+GB^$3s;Q`W_x=&+sg@>1l-ejFC|-qLq-r%y%!{bnShRS^hXqlOMR5jE(TpW=9?PN| zE20OVL_b!=0KSNq_$ubHE~5A*ma!&2qfdNS&+T<|)Z;jY=@o2@^Uy3`L9+0nmfrGg zn<$5$-qCwl=@eb0Ir;!IwUVDca+g4zbb?pii$q~ZL|dzc*$p&L3;fPSL)ukIoS~Z* yDGC$qqzPK0Wj-5TW&GFKc*johf>wA)_)Wjm6!%%(Y1q{=ccwb$HivGzyXYUd_P{0p diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/gui/DyeSelectorGui.class index 9842b91c22039ed2c3213577e90266f96b413c86..e4862d3bac396659c5ea06c56f4a062da69fdd15 100644 GIT binary patch delta 381 zcmXAjxlRIc7{q7f*kxUCEwKPiz^IKc;6bDDAVCuaqlt})iSZT>M05eUMVqbAY8whV zgR!76l31D8>09^+X#9iKOn#YfzPVZXjwtWHjTZppEIleokMZDnb)70aV@%??$~Z6T zTV9#2D+MxjmD}9Wm@@SKur){c4b$tlNG#Mj(2yNASfPrtFXL@EAvdX2;B+fSaHOi2 zk;W~uxJMo)3V1>ZO_cE==qK(tAZtsBDy+miqo)k z+!B|?>vnFR2e845XKpeCJ4R9EJcBwUjG@8}Xpj*?j)$VgfjHJU%Q+}w#?1d?u8JZb z9zpRnj7R0%r!U78M&$Y7v(DI;6{bZ zoajb9x^TxajzfVDmt2GfD<)82Okx_ag?Wz1VpYx@t`-})PS0?gg5)otP-_u#Ph65s mOmI!A0J$!+U8b1jzD%0rhHF`p8_*HQ91rRnc*r~p(EkBfC{qRi diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/HookManager.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/HookManager.class index 748c5137de373710367a3fc4961c3982404e72ec..9c3bdb334b18d0c5829c8c87422833cd8a1a6b29 100644 GIT binary patch delta 17 YcmeA*>^0;#^>5cc1_lP(jU25K06$s=SO5S3 delta 17 YcmeA*>^0;#^>5cc1_lP3jU25K06$d*R{#J2 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHook.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHook.class index ff897d815a75c34bd91a39306f72965273c07059..9a5c3b7b04cbb2cef35fb54f4831bb1ea0737ac0 100644 GIT binary patch delta 17 ZcmdnNw1bJ`)W2Q(7#J9AH*y#-0suaD1>^t# delta 17 ZcmdnNw1bJ`)W2Q(7#J9AHgXs+0sua81>*n! diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.class index 0ef9c7f1b6dc454ce8bdf344eda48f4fef2859a6..81a996298bf6d9f40b73a3f8a81c292bc9ddef1a 100644 GIT binary patch delta 17 Zcmeyx`-_+3)W2Q(7#J9AH*$Pp0{}^i2Soq? delta 17 Zcmeyx`-_+3)W2Q(7#J9AHgbGo0{}^d2Sfk> diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.class index 14dda77a01e1814e9db9d6893516ac93bbc4cc79..a717590729074165d27485f8e15df1efe3e1e934 100644 GIT binary patch delta 17 Zcmca4a!G{a)W2Q(7#J9AH*$D!0RTi0244UG delta 17 Zcmca4a!G{a)W2Q(7#J9AHgb4z0RTh`23`OF diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/OraxenHook.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/hook/item/OraxenHook.class index 30984fd58c615891e3f4046528adbff12611d150..125a30ab96fc03035b204c3497a64d36ca8f9cc1 100644 GIT binary patch delta 17 YcmZqUY~$oO^>5cc1_lP(jU06>06C}y-v9sr delta 17 YcmZqUY~$oO^>5cc1_lP3jU06>06C)t-T(jq diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/ClickListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/ClickListener.class index cad356de40df485c71bafcc631b53003705f6f7c..208fb82d0fc596a6c75a79b24a58e1af8e5ad900 100644 GIT binary patch delta 17 Zcmdn&wAqQ{)W2Q(7#J9AH*#nz0suvA26X@c delta 17 Zcmdn&wAqQ{)W2Q(7#J9AHgaey0suv526O-b diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/CosmeticFixListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/CosmeticFixListener.class index de732438fcdc9a37e1397c911051db81b13a2ad0..0ad49ed2d7dabc536f5ba0fcda0d62fd6be72cca 100644 GIT binary patch delta 17 ZcmdlfyHl3q)W2Q(7#J9AH*##`0{}wM2C4u6 delta 17 ZcmdlfyHl3q)W2Q(7#J9AHgas_0{}wH2B`o5 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/JoinListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/JoinListener.class index 570376c3e7786cff1bb2356c8b032884199a9317..e55ee3a6ab78e6104550a952c4ea0752d5c37b95 100644 GIT binary patch delta 1159 zcmZ8fSxi$w6g^W)AG{8wwv>QP6qQ0O1vC-}A|?bA;Rm9AU_zn+ZPY|Dq4H@+4DQI{ zxB)7Ng5r)~K~%sE6~%o6cijCk{u|<*NAo0Rl9@Yq=ALuznHfzSOHv2NdU^q5;%B>B zY-05yIiy$=hKGtq(=WD2R4Y!=XYq*TMx~=oDKpqB7{W`vK5xm&?Df8N-VJM3_(Y`= zqpGlA3&&P$6B%lbc?WhXsN~p%Dp93YT53?MU^j#lW<=BV) zVxu|5RL4<|2GK>~A&$eS5WmflrY4RfXcl2SgB|P0c{JrG`mwkUQQcVT?u6n_Oz1)RGEhlz5DKKgAjn1|sSrq`IUS+M zpjPI=g)FV%aj9{-)HqEblQg)DE7V*tS#%Y>gw;pc5U@XRDOf_%=s)so(z(Mz|0`4jwAbvjjpmgnlYGXzV&M#2iaBXyyaZ_~Pt#T1e>4M~Wl@$ao% zI+jb9?i!a)SoDW9tQyDUoAp;Jp+i6PR=z(8|BuI1JT9=KMn?r6T^-f z+H0ne1@Q>iluG~8bjCEDF)d)0owVJ=t%+u(DyShP^tS_MWs)!QkA_O8h_La0t6W-p z@*}UJTRK~)#=!{tHdPyN2X|?e>INzI7*Fvc5WNgUBY2GwEjNO9di0T^&s3?Bo-g=@ HABg@7F7WU4 delta 1130 zcmaJO>B?hd2(SR8(@ia+ISU4Wf=`u;Xn*JjZD6*Ki*XR6OJuz@xUf5F=xQA}Q2S_*8=l z&p3L}X+?u25HDn4n4?1m6pMmaGVq$?2D<6`t^9k(aYs-7Apb@=ZlaTc=a!edE3#J? zc|2~9iq8yAF&G*tDnrx&6<@_b=qz?j7;H|~DB^4>tVt}jIh-d*MLP^+qi_|&d=HU-h zr=O`)=f`9fbm0p17D$?0#Wli`TWJFOiD(sztePB~k6Ak9Nu8DWgmf=f%F+hCv=j=M zqn8>Vg`$H|kVKS%GHQ`FL;{KC@U;1oaH!s9G$Ij$sYoWW(K^ETaQ;Jv>C%l6M)~W-{s?1&7YBV(iFNkr`uI|*=~!5Frc!X1UmllV z9+yuZ8*#gZ+keZGrlN+J&>s8b$@0k)L{oB5!6W|)@8#z>^>5cc1_lP(jU27)06R?v0{{R3 delta 17 YcmeC>@8#z>^>5cc1_lP3jU27)06Rzq0ssI2 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.class index 36329e348d8290cf6daf688dde4b63f68451c56b..89ce09d44f59e8d8ba98cc26a187aa9d81c95bbc 100644 GIT binary patch delta 431 zcmX|+OG{fp7>1uYo}4MigNm0#5tJ73Ml@Ct6}&A(T!=)fRnvNn8e_c1c!~FodvR8- z{RP%?7G3lQxa;3&_ijY#7XvczeKYeu^S$rfg`Pw1M(l-PC7q{mmL%t>IfXoi^P zo5y!%741TOx^ZGf^DJllP~{Zhh!!_j?m%<%Ps)4-rD>lbpOLW7 zSpGB-{=u}*+`YgyYv!-pa4}3H6EsQQ7IKFD`BCqNakkigi#Nv(yJA^Jlr(!{8m5a3 z`!cJ8HV!zHPaMgNT);e)73x@SDkylNT2rHG)h|?PIyJqV2qu1tQ(+WmQZ3H^1C3cu A$p8QV delta 346 zcmX|*%Sr-a7>1wUW}KKABngvRy08OAgqwt@uof*Og0h2^T9%rf&*!2`h`&2%(b|ex zwCDmNXx*k8Xwd}((I-Ni@A!W2^ZkVH!uIR$^9#_=Wz}vp^t~C;W#iizRwQ)LOz2xP zXxjvsbV)O%-_5i$!>mQdWsZ5>y}f zqORCcRnj+hxVJ3K7JL#ztWuF&s~lX>Db`q*T@h3h4fti3(;xO=)MKdY3Cm-|V>IS5 zR_`Wa4@`S3R7Ge|(n+VikfeigI?2*a4K`4>`G@7$U{g>g8MfFKTr(+l*cD)mID71i lS6u1?4n=h&9<}G{s$)@|=r^Y=bSiVd%+Dk%&L#S|_ydgpKd1lz diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/RespawnListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/RespawnListener.class index 073903b76d0555de4c314bc7727ef713c03b3eaa..54844db43b04b7c72a7e3a81d39b6ef4c7cad8d7 100644 GIT binary patch delta 17 ZcmX>neNLL=)W2Q(7#J9AH*y@~1pq}|2IK$$ delta 17 ZcmX>neNLL=)W2Q(7#J9AHgX)}1pq}@2IBw# diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/TeleportListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/TeleportListener.class index 05ba0c0a2fd049ef057e5f9c2fe8decedec04bb8..52d75c80dae4874848f392c99daef5c4da08a085 100644 GIT binary patch delta 17 ZcmX>qcvO(%)W2Q(7#J9AH*)Od002Vz2Cx7C delta 17 ZcmX>qcvO(%)W2Q(7#J9AHgfFc002Vu2Co1B diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/WardrobeClickListener.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/listener/WardrobeClickListener.class index 02f2a730e30610d9489f6e802b95be6ed821a2da..07ae0364c3314e5770c0c0b3e5f592bf6393ce11 100644 GIT binary patch delta 17 Zcmdlcu}y;G)W2Q(7#J9AH*)Cl002PJ1{DAR delta 17 Zcmdlcu}y;G)W2Q(7#J9AHgf3k002PE1{44Q diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Adventure.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Adventure.class index 45977acf284a9ad6f84a48e7cbf7ddec5ae4f6ae..32e5a14be989d1c69975b20367b637dca58cd616 100644 GIT binary patch delta 17 YcmeC??dIh;^>5cc1_lP(jU3Hv06NSC_y7O^ delta 17 YcmeC??dIh;^>5cc1_lP3jU3Hv06ND7_W%F@ diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/ErrorMessages.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/ErrorMessages.class index cdb69637e28d51bc96a3af00c06d9540720c2784..e4a7d3b393f2211ce3e401e97a5fe1b094fc54e1 100644 GIT binary patch delta 17 YcmZo?X=mX$^>5cc1_lP(jU4|O0Xi`TRR910 delta 17 YcmZo?X=mX$^>5cc1_lP3jU4|O0Xi%OQ~&?~ diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler$1.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler$1.class index 9066d110a807df3d1ad5d8b34717818ddd2727e6..2179535bf1fbc4e0b40486f2536a48a54171026c 100644 GIT binary patch delta 17 ZcmaFC{(_z3)W2Q(7#J9AH*!2+1^`BH2LJ#7 delta 17 ZcmaFC{(_z3)W2Q(7#J9AHgY^*1^`BC2LAv6 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/MessageHandler.class index 8d1a1ea5dc15e616b43d126fafba60776e2382e2..0e9eb100e641fe9b5051394513d0414e166eaeb0 100644 GIT binary patch delta 368 zcmX|-KP*F06vlt2?^RkU;!Q1sJdxCEYtThh&}#f?Nkr2ah($tCMJ*kz%x^MSn~13- z9XbfBS^TL)ViTKKOyc&DH{I`^^PThk?rr2R^1i#D#x*cr^JPu{B06pAc4DuZy;dlC zOX?IOdP6FqM?!jRs7|^Tt21)RY!$a}pPMU3772zKBhCaFCRrj$jx@_mv!>2<<|vY- z!aT<;$cD=o6{123*j3$Sw(vBAIyQ=oby`g(vdEkpjwe(3kc$OZTGRlkn8E$r$Rf4Vtf`6~? pjM{I5W-`D#1|JS}MD+vepIX#f%jvQPUDlw(<#D1l#IUEV?_WKNL}LH| delta 383 zcmZ8dJxjw-6g@Y|lT@U&I)oq*B88yU4h|MlzltbQMZ{*&Iyk7U+WG~$hT=c)O@iVN za8X>OgXk)PlZ$_#;^Z$7Zyu7t<-T*j&N=tp1g*e)`Dr}@7{4=1ZekS%IyjTE;`Sx` zv%av!Gm01JwS^2_>woFmT?=#YF@^&2m_!*kL;G|9L5Doh^|#QV zBj|L@l}_mS%>CuSsGwK*=2`SE+ulcb%6x*`PS!VUL*1CNjVBbBMus0~;+9n80i8BE uCRr3{BaKg3_)@?TI5cc1_lP(jU3G^06J0y?f?J) delta 17 YcmeC??B?V+^>5cc1_lP3jU3G^06I+t?EnA( diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Messages.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/message/Messages.class index 29757ab7ab47dfa25b82a3c3e33489aec797a669..f0236895b91bd03bf2f5595953efa40104b3eec4 100644 GIT binary patch delta 1986 zcmbW1T}<0$6vm&o9k#^-t!1MWCQJmJ1DV^{CT!?h+OCe$vQqXzB8nVpZ?zS|2WTk z&gs{kpLcpM{q@1e0J`7z28`Q-mCkxsYgHB8K7>%?L0C|WI)jalS=l&!B;X90Xg-9S z1@(4Y2I9GqXr!mNpUd8|MsQ0hkVzy)l96=G25uEJ*?`~P(UXi1ky6SrL0oUMRx-I{JiCzePC?Q}g4ZI8PkEQ1cS(4$kv>71mM7h{O(FCPc54RL z9#zVFK#=2w7u{F9A&d$R65d{sA&d(S6IPUs5*`ywpl;@ovb`?SJA!u^`pT0coE4lS ztnqFkd?@&cFznqx_*C#2;iT6-?vmh3!c}h{;TyrXgdX26!gqr239tClgdYT#2|xRG z6Rrq;BE-rE2)_uf5>A(A3BL+{V?KYD&l=LKV2+_ViFrfDCB{uiR_rAB#FP_GR_rAN z#N0&qy<&(E5>rFiS2<3o7t=uaqVf=-SxgIIvwx7#CWgJ{obdM&Hi_vV{OI4)6f#|6 zw%JpaTs9J8v*j|q@wC@;v$aMae*Dnr*b~lhz$O$C!v>f+6G-sv%&?dd(jUQD!)|nO z@Y)f!$If42d*Z4*Y*kL4D*IZMBd5xKR^_CrvZYlyV5;n5RSuOZyH=Isq{?0e@_Zr9 z=>{`YWnEQSQdL${m4#Gg4OLk_RaQ=wMN?(HR9PxjR!Nohv1&`B%Bt}F++am?gT+u~ z9aLEY)qfJS2d~UCS6xV$Lt@#Ekt(M`mF=&}&R1oZTeXKzErUUsGf|z$f5I9V?u-@T zS$7TH_MEXegkjh{ghf zMKl*6MXW90h9X+u<2`OO%I_BV_&tg3c|6I#ho?B}Pjh0Aau}b%5RTyhp2hu`GzWQ^ z%qM6bG~>+aFn229>+qE6C+fiDt2*jZN8RdZ z$5KaA{C|9rhK|$FOEff1Lnmm+p`n*)Xlkh;zJD1L`1CN2loMRXTc&j$WsuH|Xe1Iyy~9Z_&}IrH-y+$Y}`on`&nwTxV80FNEtl8!ljQ vfADDV*m>MHgAS$Vg3l{8Doq8CD{WPp4mwKB&SgGhtux2()|r~xv#!4Z$~#Y$ delta 2053 zcmbW0U2M~36vm%-Wwsq>TlufBbpr+)n~aU&#y~dMq+8p~t!qcu4KQ(YMBGsPz{D6s zOf&K822?6pCg3n$G|~9g1xN(tLP-qjgF|eFd4SFO2G!3^V(crFqZ7M z(Q3h+^U?Nrd^TDm@Ncr=<+HDjM&t3A8+GY2Q(ILFmwj@J;4a;g2=~SZ!yy)twDCs4 zR+OYuIV)*ln_#=$u67 zcMsvZ;AcW8ub=R%;09qTFG2WC@H^}IGjGO_W&}5xx+x)#-{gpK5xVj_30^UIgo*sU z1fQ4{gg^4{BNU4%A?zy{BdiruPWYnWAfZZ3HDO!f0HIFIX2QwB9>P{JO@yBc2P^%i zMa)ins*+3uLmakbyeAyc9k*|?jlj;oPt2UilKwqy~=peBpe8B}Ibp23vN>-2Pd!BYyOOPYG*|CqX+rw;WLQBU`(r>OOm zLR?KH{?*hZO}#-=r)la8O`WBwH)(2$rq0pSL22AMrnEYJE>LF5)0YEf%@vwC5cc1_lP(jT}{M06Cfk-2eap delta 17 YcmZqTZQ|uP^>5cc1_lP3jT}{M06CQf+yDRo diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/ImmediateTask.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/ImmediateTask.class index b278c84bb20ef24f7735ae04039c0e97165d59e1..a404981b1323e171285d87f4c91c15bb6efe8d5c 100644 GIT binary patch delta 17 ZcmZ3002aw25tZV delta 17 ZcmaFJ@sNY#)W2Q(7#J9AHgZI=002ar25kTU diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/SyncedTask.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/SyncedTask.class index ff2102ab12ed87c454a6c90147e0072034b6350b..f1927d9acfbaef6097adcc1a747d98b013b79078 100644 GIT binary patch delta 17 YcmZo;Yh&X$^>5cc1_lP(jU4}&06I(tR{#J2 delta 17 YcmZo;Yh&X$^>5cc1_lP3jU4}&06IqoRsaA1 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskChain.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskChain.class index cf31ce30b316dea888cd0ff464fcec88792bcd09..8a0c43f77c14ffe053b356d1e45807e71ab05dce 100644 GIT binary patch delta 17 ZcmbOvF-d~s)W2Q(7#J9AH*#?C002A+1*rf4 delta 17 ZcmbOvF-d~s)W2Q(7#J9AHga(B002A%1*iZ3 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskManager.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/task/TaskManager.class index e77fdb735468ea9010199c75618965eef7fcbfd1..b6a99a2bbb41a4bc98a14447d854349ee96cc356 100644 GIT binary patch delta 17 ZcmbOuI!Bb_)W2Q(7#J9AH*!qj0suY&20s7* delta 17 ZcmbOuI!Bb_)W2Q(7#J9AHgZhi0suYz20j1) diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/User.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/User.class index c274515fa61a86b519cd7717304bf10128e1b9e7..1aecd70466e7593b045991d0acaffd29f3009e40 100644 GIT binary patch literal 5126 zcmcgw`&S#+5&o_atbjE(#33=5*oke-(`)b}b!58+47OTcMS|2MZMujBEl4XYt#D}@ zCrz3(iQA;_)_uQ{^x-y+8KYJ^k)Jq?K$OH9z$DnBB|H%s2DR+_`i4 z_kZ612Y@s9djmqKQ4m&9i#h?#%xcS~ohmG7OJ+W0Uc8#y->$;ZKtz~U$VZ}(=(eaNrXIkrqWoL66+H_jqFmgk= zOg2}IqT|P?Wt;X!Y%w40o~uU$^$HqPG(r{V{djE0gd0ZWik@4{Wfu&AfhxRqG#~d= zq76iDQn3@e1ZtNJJGLmWyQ}+7J`}VFG&wXCY%{IR&c@C+U^nhp(5m7AJSfnd%`IyS zh1FHl)`p#jKs{}`>w_>!A5l8AqD$X?8n0b z4{j$Y&`4iqE%S20kWseyQI_0kKr;@gIEX_m4&!n`Pv-^hze{m+&&!M*R?&rSil)rP zMZ*#h^U|4K6@BOzP$ivyi3oI+2T@r(MagI*G#phhpkffm1P%rQ+E$6=OElZa#H(a8kq4QAFCaNHVFF^my6ZPJ4Y!`1~l%VA55aF6Sn zFGnv%F{a>xii?N|90+(}Sjm)b*%{VbUK=ef=+#VYIzhh#4h6m1PJx;FEXEZ~sF=hQ z=?;Kwp+>2~Vsb1G&Kclo%WXN-yL;+<*mKahY~%qe(W#piLUJPp1K zcV~QhbR;p9n3}0bgfBufPvA)fUr_NyJXIdzTGlqRmNxA?Mwgb@HQmZkW0P~Scx*T} z9!n7VU@*pQlt^UjW=!NGG;zc)+?KI+|JQyhs7%@zKjhjNEQPMWqr((cfuNnNJ(j{WU_h$?tS;AoX6)ad1cxh8j71Fquh@}z#wVRlaD`x`1=z>999EDGME zQI0wXL{XBQUd2l)UdAh|@1b8X+As0P0N@pWEPBELSINTlonYh z={cQ80oUFy!*X_N{~Xq1Hw*5@lXJKEt{C=0j$=Vy z(@P(<$wE3Uv&1O&RT`0`oliFVJE6oC7Xh}uuk5}v#U1N)%x{v)w^T)84vq=*$MVnrN; z8rtUlivG&DPH-hXYV6s>j(?*0J=}Mb%MfHxb)4uI;4c>urgzW$QWU-5qgVmBaH z0>8#@_){9!_>{(Ld)|RkY4&iyY^`Tj;I~+ImBk@CAsN3$&-P68{R_1}xN z3*18Db#(UK!u%G#6e34$y~J6RGQ0Sa68x1CeiPxE8+50}Vdf;04D`~$J|?gqojAgK zn}%~ZiZKju`X0nQ$z8!oj((5gXXwpNQ9j+K_!s=u%>-|B zA^u}I^z`0Fy0Qj`= zC~c3C;0uoZ{jO%wekz|~9d;#uj*^8)YT zo0ZNa=*%p`n+rJ8UUa6l(wSz~2EpFJss}m9r`&-NxdS(GO%fd3+fO)l-Mt<0>IW;Tvr_q~fO2UEZ-R}=iMLcY?YGfcSvN_BwipPju9(+4`3Dx-2$2!#?iSv6o*(=d D4}eZI delta 1520 zcmaJ>NmCO+7=1IzEGC^Os6mMqE>%fL1`rf*i3kX|01AQ-a6#NraaY{O75BAIdh%j< zp-Mp6v`Ve=V3jw2f@kkuq%6Ol8AFJcm+9{5?)TpJ`gQk4zR&l3`StcafHqJveS9f>U;e8TZk=*tv(6NSLE!OcKwbEaUIt}#<8?aGA0dJhLfFJSs_zyLvHZp8N z6Ax>Kx|yK`t-MW(y4xfyqGb{OO7qN0U<-qStrm2P7jvs`T4YgsVUkQwlIck@-J)<2cou?0DkzF+BqVvG!|;7X#we!u zCs|Z$D#s#V_A-Z{ht`PMGe9TK(m;na17b)&&*40M1$qIs0$qu|ftHTDFa=j}a3x$o zg|qn+)hJwT<>ONga}fD25Hbd_WDLt?JVSQO7(X3-5%M_~Aw*Gv7zNRw6V0RCL@f>TY@Vcft+>}AOURB?w0 zM8Xa9I$#HAjTKTl>Dl$hXDF^dBQ}inV`z{uVVWJ~<%GS0Op7}PmD>6KljQ(z;uZlb z$oS(B>7)?Y2GI=NNns8z%gi>LB?wdOL$UEIY3pjjuS(IM>F8JJ3JKdKT%H8_KhrvJ z+o^MpV_HzuSr_{ZulWv%wh^@V$HuTt!YDe^)vO~m>#3C56g9!5nn1dm49Wnp-9fd( zSwyYKxh`@(j6K3l`=W|VLfL7sfbBb^JHQg|CIM0d6q>wSJOko6u{Td#lzX`EuusG! gID}AoN)jkk(3Vn|ni3Q7qDdt6fhG7M9$D?<-_g9gtpET3 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager$1.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager$1.class index 579a70d48ef2b5164c54ae15e4013142b9e3526f..b77d0e6f60f9c31cd4ca444e6da615d09dba1cab 100644 GIT binary patch delta 17 Zcmcc1ahHSR)W2Q(7#J9AH*$os002Z724VmJ delta 17 Zcmcc1ahHSR)W2Q(7#J9AHgbfr002Z224MgI diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/UserManager.class index 6e8353c7ea4da39d54a4d75b82228a44c5a7cc71..05933501dfae2425c95c0052cabafcf5590c2be3 100644 GIT binary patch delta 24 gcmaD<`KXfP)W2Q(7#J9AH*(lnGalRQZate30Ff^W1^@s6 delta 24 gcmaD<`KXfP)W2Q(7#J9AHgecmGalLOZate30Ff680{{R3 diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/Wardrobe.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/user/Wardrobe.class index 4b0a4d99a457cdc423266f8e84e6bc3e7e5d7ec5..95d702615170cf819d06acd9e149fbf4d751aef6 100644 GIT binary patch delta 5764 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 delta 4843 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 DBG|eI diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/Keys.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/Keys.class index 86b5d6c2581c5271c283926afe744b1af4959b57..62efa8af6f0b83779203272b00261beed4a8491f 100644 GIT binary patch delta 17 ZcmbOwJ4=@1)W2Q(7#J9AH*!qk0{}j<22B6} delta 17 ZcmbOwJ4=@1)W2Q(7#J9AHgZhj0{}j)2220| diff --git a/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/StringUtils.class b/common/build/classes/java/main/io/github/fisher2911/hmccosmetics/util/StringUtils.class index bad4a7b68ae0ddaa26c7b47a872f5c176d58f98a..e940418003c130de3e99d27f0cedef873419e01f 100644 GIT binary patch delta 17 Zcmca4d`Xz&)W2Q(7#J9AH*%cf1OP5cc1_lP(jT}F@0XxSAbpQYW delta 17 YcmZpaXq4bM^>5cc1_lP3jT}F@0XxD5bN~PV diff --git a/common/build/resources/main/config.yml b/common/build/resources/main/config.yml index 294a5992..1a3fb2d0 100644 --- a/common/build/resources/main/config.yml +++ b/common/build/resources/main/config.yml @@ -35,6 +35,8 @@ wardrobe: spawn-delay: 40 # how long in ticks until the wardrobe should be despawned despawn-delay: 40 + # if cosmetics that the user have permissions for should be applied on close of wardrobe + apply-cosmetcics-on-close: true open-sound: sound: # Play a sound name: "minecraft:block.chain.break" diff --git a/common/build/resources/main/messages.yml b/common/build/resources/main/messages.yml index 2501b279..3d88d8b1 100644 --- a/common/build/resources/main/messages.yml +++ b/common/build/resources/main/messages.yml @@ -38,6 +38,10 @@ wardrobe-already-open: "%prefix% The wardrobe is not-near-wardrobe: "%prefix% You are not near the wardrobe!" cannot-use-portable-wardrobe: "%prefix% You cannot use the portable wardrobe!" opened-other-wardrobe: "%prefix% Opening %player%'s wardrobe." +gave-token: "%prefix% You gave %player% a %id% token" +received-token: "%prefix% You were given a %id% token" +traded-token: "%prefix% You have received the cosmetic: %id%" +already-unlockedYou have already unlocked the cosmetic: " + %id%); help-command: "<#6D9DC5> %prefix% HMCCosmetics - Help %prefix% <#6D9DC5> diff --git a/common/build/tmp/compileJava/previous-compilation-data.bin b/common/build/tmp/compileJava/previous-compilation-data.bin index da81514c67fc04533308e056d928de0ef1ee327a..e9170cdbcbde946f02b4d8b8c376e5ae7f79a530 100644 GIT binary patch delta 2886 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 a30-1>T!kurQWuxX6S1(LH~`AAh5rYz9J+P@ diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java index f916d9a3..7d054dbd 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java @@ -72,7 +72,7 @@ public class CosmeticsCommand extends CommandBase { if (wardrobe.isActive() && !this.settings.getWardrobeSettings().inDistanceOfWardrobe(wardrobe.getCurrentLocation(), player.getLocation())) { wardrobe.setActive(false); - wardrobe.despawnFakePlayer(player); + wardrobe.despawnFakePlayer(player, userManager); this.messageHandler.sendMessage( player, Messages.CLOSED_WARDROBE diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.java index 13047603..7fa171fc 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/config/WardrobeSettings.java @@ -32,17 +32,12 @@ public class WardrobeSettings { private static final String ROTATION_SPEED_PATH = "rotation-speed"; private static final String SPAWN_DELAY_PATH = "spawn-delay"; private static final String DESPAWN_DELAY_PATH = "despawn-delay"; + private static final String APPLY_COSMETICS_ON_CLOSE = "apply-cosmetcics-on-close"; private static final String OPEN_SOUND = "open-sound"; private static final String CLOSE_SOUND = "close-sound"; private static final String STATIC_LOCATION_PATH = "wardrobe-location"; private static final String VIEWER_LOCATION_PATH = "viewer-location"; private static final String LEAVE_LOCATION_PATH = "leave-location"; - private static final String WORLD_PATH = "world"; - private static final String X_PATH = "x"; - private static final String Y_PATH = "y"; - private static final String Z_PATH = "z"; - private static final String YAW_PATH = "yaw"; - private static final String PITCH_PATH = "pitch"; private final HMCCosmetics plugin; @@ -54,6 +49,7 @@ public class WardrobeSettings { private int rotationSpeed; private int spawnDelay; private int despawnDelay; + private boolean applyCosmeticsOnClose; private SoundData openSound; private SoundData closeSound; private Location wardrobeLocation; @@ -85,6 +81,7 @@ public class WardrobeSettings { this.rotationSpeed = source.node(ROTATION_SPEED_PATH).getInt(); this.spawnDelay = source.node(SPAWN_DELAY_PATH).getInt(); this.despawnDelay = source.node(DESPAWN_DELAY_PATH).getInt(); + this.applyCosmeticsOnClose = source.node(APPLY_COSMETICS_ON_CLOSE).getBoolean(); this.openSound = source.node(OPEN_SOUND).get(SoundData.class); this.closeSound = source.node(CLOSE_SOUND).get(SoundData.class); this.wardrobeLocation = source.node(STATIC_LOCATION_PATH).get(Location.class); @@ -127,6 +124,10 @@ public class WardrobeSettings { return despawnDelay; } + public boolean isApplyCosmeticsOnClose() { + return applyCosmeticsOnClose; + } + public Location getWardrobeLocation() { return this.wardrobeLocation.clone(); } diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/Database.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/Database.java index 02f802b1..78f58fc7 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/Database.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/Database.java @@ -20,7 +20,10 @@ import org.bukkit.entity.Entity; import java.sql.SQLException; import java.util.List; +import java.util.Random; +import java.util.SplittableRandom; import java.util.UUID; +import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; @@ -32,7 +35,7 @@ public class Database { private final Dao armorItemDao; private final ConnectionSource dataSource; private final DatabaseType databaseType; - AtomicInteger FAKE_ENTITY_ID = new AtomicInteger(Integer.MAX_VALUE); + private static final SplittableRandom RANDOM = new SplittableRandom(); public Database( final HMCCosmetics plugin, @@ -62,8 +65,8 @@ public class Database { public void loadUser(final Entity entity, final Consumer onComplete) { final UUID uuid = entity.getUniqueId(); - final int armorStandId = FAKE_ENTITY_ID.getAndDecrement(); - final int balloonId = FAKE_ENTITY_ID.getAndDecrement(); + final int armorStandId = getNextEntityId(); + final int balloonId = getNextEntityId(); final Wardrobe wardrobe = this.createNewWardrobe(uuid); Threads.getInstance().execute( () -> { @@ -103,8 +106,8 @@ public class Database { } public void loadNPCUser(final int id, final Entity entity, final Consumer onComplete) { - final int armorStandId = FAKE_ENTITY_ID.getAndDecrement(); - final int balloonId = FAKE_ENTITY_ID.getAndDecrement(); + final int armorStandId = getNextEntityId(); + final int balloonId = getNextEntityId(); Threads.getInstance().execute( () -> { try { @@ -214,11 +217,15 @@ public class Database { ownerUUID, PlayerArmor.empty(), new EntityIds( - FAKE_ENTITY_ID.getAndDecrement(), - FAKE_ENTITY_ID.getAndDecrement(), - FAKE_ENTITY_ID.getAndDecrement() + getNextEntityId(), + getNextEntityId(), + getNextEntityId() ), false ); } + + public static int getNextEntityId() { + return RANDOM.nextInt(50_000, 100_000); + } } diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.java index 44eeeada..d976fd95 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseConverter.java @@ -93,8 +93,8 @@ public class DatabaseConverter { this.database.createNewWardrobe(uuid), new EntityIds( -1, - this.database.FAKE_ENTITY_ID.getAndDecrement(), - this.database.FAKE_ENTITY_ID.getAndDecrement() + Database.getNextEntityId(), + Database.getNextEntityId() ) ); final String backpackId = results.getString(2); diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.java index 33252910..8f0155ae 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/database/dao/ArmorItemDAO.java @@ -36,8 +36,7 @@ public class ArmorItemDAO { } public static ArmorItemDAO fromArmorItem(final ArmorItem armorItem) { - return new ArmorItemDAO(armorItem.getId(), armorItem.getType().toString(), - armorItem.getDye()); + return new ArmorItemDAO(armorItem.getId(), armorItem.getType().toString(), armorItem.getDye()); } @Nullable diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/JoinListener.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/JoinListener.java index e0313d92..27380f0c 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/JoinListener.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/JoinListener.java @@ -59,7 +59,7 @@ public class JoinListener implements Listener { if (wardrobe.isActive()) { Bukkit.getScheduler().runTaskAsynchronously( this.plugin, - () -> wardrobe.despawnFakePlayer(player) + () -> wardrobe.despawnFakePlayer(player, userManager) ); } }); diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.java index bbe1f6d3..fcd8084e 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/listener/PlayerShiftListener.java @@ -36,7 +36,7 @@ public class PlayerShiftListener implements Listener { if (!wardrobe.isActive()) return; - wardrobe.despawnFakePlayer(player); + wardrobe.despawnFakePlayer(player, userManager); this.plugin.getSettings().getWardrobeSettings().playCloseSound(player); this.plugin.getMessageHandler().sendMessage( player, diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java index f9caad8c..a8cd2db1 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java @@ -95,7 +95,7 @@ public class Messages { public static final Message TRADED_TOKEN = new Message("traded-token", "You have received the cosmetic: " + Placeholder.ID); public static final Message ALREADY_UNLOCKED = - new Message("alread-unlocked", "You have already unlocked the cosmetic: " + Placeholder.ID); + new Message("already-unlocked", "You have already unlocked the cosmetic: " + Placeholder.ID); public static final Message SET_OTHER_BACKPACK = new Message( "set-other-backpack", "You have set the backpack of " + Placeholder.PLAYER + " to " + Placeholder.TYPE + "." diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/packet/PacketManager.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/packet/PacketManager.java index 3bb5078b..0938228f 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/packet/PacketManager.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/packet/PacketManager.java @@ -124,7 +124,11 @@ public class PacketManager { final PacketContainer armorPacket = new PacketContainer( PacketType.Play.Server.ENTITY_EQUIPMENT); armorPacket.getIntegers().write(0, entityId); - armorPacket.getSlotStackPairLists().write(0, equipmentList); + + try { + armorPacket.getSlotStackPairLists().write(0, equipmentList); + // for some reason ProtocolLib throws an error the first time this is called + } catch (final NullPointerException ignored) {} return armorPacket; } diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java index c1c469df..1c5d0cea 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java @@ -6,7 +6,11 @@ import io.github.fisher2911.hmccosmetics.inventory.PlayerArmor; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.Nullable; @@ -39,6 +43,13 @@ public class User extends BaseUser { final Player player = this.getPlayer(); if (player == null) return false; if (player.getUniqueId().equals(other.getUniqueId()) && this.hidden) return false; + final ItemStack itemStack = player.getInventory().getItemInMainHand(); + if (itemStack != null && itemStack.getType() == Material.TRIDENT) { + final ItemMeta itemMeta = itemStack.getItemMeta(); + if (itemMeta != null && itemMeta.hasEnchant(Enchantment.RIPTIDE)) { + return false; + } + } return player.getGameMode() != GameMode.SPECTATOR && (!player.hasPotionEffect(PotionEffectType.INVISIBILITY) && other.canSee(player) && diff --git a/common/src/main/java/io/github/fisher2911/hmccosmetics/user/Wardrobe.java b/common/src/main/java/io/github/fisher2911/hmccosmetics/user/Wardrobe.java index dba09f2d..fa56c268 100644 --- a/common/src/main/java/io/github/fisher2911/hmccosmetics/user/Wardrobe.java +++ b/common/src/main/java/io/github/fisher2911/hmccosmetics/user/Wardrobe.java @@ -14,6 +14,9 @@ import org.bukkit.Location; import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import java.util.Optional; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; @@ -116,7 +119,7 @@ public class Wardrobe extends User { this.startSpinTask(viewer); } - public void despawnFakePlayer(final Player viewer) { + public void despawnFakePlayer(final Player viewer, final UserManager userManager) { this.active = false; final WardrobeSettings settings = this.plugin.getSettings().getWardrobeSettings(); Bukkit.getScheduler().runTaskLaterAsynchronously( @@ -135,6 +138,19 @@ public class Wardrobe extends User { this.spawned = false; this.cameraLocked = false; this.currentLocation = null; + final Collection armorItems = new ArrayList<>(this.getPlayerArmor().getArmorItems()); + if (settings.isApplyCosmeticsOnClose()) { + final Optional optionalUser = userManager.get(this.ownerUUID); + optionalUser.ifPresent(user -> Bukkit.getScheduler().runTask( + plugin, + () -> { + for (final ArmorItem armorItem : armorItems) { + if (!user.hasPermissionToUse(armorItem)) continue; + userManager.setItem(user, armorItem); + } + } + )); + } this.getPlayerArmor().clear(); Bukkit.getScheduler().runTask(this.plugin, () -> { if (viewer == null || !viewer.isOnline()) return; diff --git a/common/src/main/resources/config.yml b/common/src/main/resources/config.yml index 294a5992..1a3fb2d0 100644 --- a/common/src/main/resources/config.yml +++ b/common/src/main/resources/config.yml @@ -35,6 +35,8 @@ wardrobe: spawn-delay: 40 # how long in ticks until the wardrobe should be despawned despawn-delay: 40 + # if cosmetics that the user have permissions for should be applied on close of wardrobe + apply-cosmetcics-on-close: true open-sound: sound: # Play a sound name: "minecraft:block.chain.break" diff --git a/common/src/main/resources/messages.yml b/common/src/main/resources/messages.yml index 2501b279..a09a611c 100644 --- a/common/src/main/resources/messages.yml +++ b/common/src/main/resources/messages.yml @@ -38,6 +38,10 @@ wardrobe-already-open: "%prefix% The wardrobe is not-near-wardrobe: "%prefix% You are not near the wardrobe!" cannot-use-portable-wardrobe: "%prefix% You cannot use the portable wardrobe!" opened-other-wardrobe: "%prefix% Opening %player%'s wardrobe." +gave-token: "%prefix% You gave %player% a %id% token" +received-token: "%prefix% You were given a %id% token" +traded-token: "%prefix% You have received the cosmetic: %id%" +already-unlocked: "%prefix% You have already unlocked the cosmetic: %id%" help-command: "<#6D9DC5> %prefix% HMCCosmetics - Help %prefix% <#6D9DC5>