From d87afd44ab408ef8a2f93a6981aa15975211978f Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 19 Mar 2020 15:05:18 +0100 Subject: [PATCH] Delete old implementation --- implementation/lib/IslandWorld-8.5.jar | Bin 310548 -> 0 bytes implementation/lib/Towny-0.93.1.0.jar | Bin 947742 -> 0 bytes implementation/pom.xml | 181 -- .../java/de/epiceric/shopchest/ShopChest.java | 662 ----- .../shopchest/command/ShopCommand.java | 311 -- .../command/ShopCommandExecutor.java | 538 ---- .../shopchest/command/ShopSubCommand.java | 68 - .../shopchest/command/ShopTabCompleter.java | 110 - .../de/epiceric/shopchest/config/Config.java | 602 ---- .../shopchest/config/HologramFormat.java | 243 -- .../config/LanguageConfiguration.java | 126 - .../shopchest/config/Placeholder.java | 43 - .../shopchest/event/ShopBuySellEvent.java | 58 - .../shopchest/event/ShopCreateEvent.java | 35 - .../epiceric/shopchest/event/ShopEvent.java | 42 - .../shopchest/event/ShopExtendEvent.java | 37 - .../shopchest/event/ShopInfoEvent.java | 26 - .../shopchest/event/ShopInitializedEvent.java | 27 - .../shopchest/event/ShopOpenEvent.java | 26 - .../shopchest/event/ShopPreCreateEvent.java | 26 - .../shopchest/event/ShopPreInfoEvent.java | 46 - .../shopchest/event/ShopPreOpenEvent.java | 46 - .../shopchest/event/ShopPreRemoveEvent.java | 46 - .../shopchest/event/ShopReloadEvent.java | 46 - .../shopchest/event/ShopRemoveAllEvent.java | 56 - .../shopchest/event/ShopRemoveEvent.java | 26 - .../exceptions/ChestNotFoundException.java | 9 - .../exceptions/NotEnoughSpaceException.java | 9 - .../exceptions/WorldNotFoundException.java | 9 - .../external/PlotSquaredShopFlag.java | 114 - .../external/WorldGuardShopFlag.java | 31 - .../external/listeners/ASkyBlockListener.java | 62 - .../listeners/GriefPreventionListener.java | 62 - .../listeners/IslandWorldListener.java | 59 - .../listeners/PlotSquaredListener.java | 80 - .../external/listeners/TownyListener.java | 84 - .../external/listeners/USkyBlockListener.java | 61 - .../listeners/WorldGuardListener.java | 97 - .../shopchest/language/BannerPatternName.java | 29 - .../language/BookGenerationName.java | 28 - .../shopchest/language/EnchantmentName.java | 53 - .../shopchest/language/EntityName.java | 28 - .../epiceric/shopchest/language/ItemName.java | 42 - .../shopchest/language/LanguageUtils.java | 2578 ----------------- .../shopchest/language/LocalizedMessage.java | 29 - .../epiceric/shopchest/language/Message.java | 99 - .../shopchest/language/MusicDiscName.java | 29 - .../shopchest/language/PotionEffectName.java | 29 - .../shopchest/language/PotionName.java | 45 - .../shopchest/language/Replacement.java | 29 - .../shopchest/listeners/AreaShopListener.java | 68 - .../listeners/BlockExplodeListener.java | 30 - .../listeners/ChestProtectListener.java | 248 -- .../listeners/CreativeModeListener.java | 179 -- .../listeners/NotifyPlayerOnJoinListener.java | 63 - .../listeners/ShopInteractListener.java | 1158 -------- .../shopchest/listeners/ShopItemListener.java | 150 - .../listeners/ShopUpdateListener.java | 105 - .../listeners/WorldGuardListener.java | 89 - .../shopchest/nms/ArmorStandWrapper.java | 129 - .../shopchest/nms/CustomBookMeta.java | 90 - .../de/epiceric/shopchest/nms/Hologram.java | 277 -- .../epiceric/shopchest/nms/JsonBuilder.java | 236 -- .../epiceric/shopchest/nms/SpawnEggMeta.java | 90 - .../java/de/epiceric/shopchest/shop/Shop.java | 476 --- .../de/epiceric/shopchest/shop/ShopItem.java | 161 - .../epiceric/shopchest/shop/ShopProduct.java | 43 - .../de/epiceric/shopchest/sql/Database.java | 736 ----- .../java/de/epiceric/shopchest/sql/MySQL.java | 109 - .../de/epiceric/shopchest/sql/SQLite.java | 140 - .../de/epiceric/shopchest/utils/Callback.java | 34 - .../epiceric/shopchest/utils/ClickType.java | 222 -- .../de/epiceric/shopchest/utils/FastMath.java | 42 - .../epiceric/shopchest/utils/ItemUtils.java | 76 - .../de/epiceric/shopchest/utils/Operator.java | 75 - .../epiceric/shopchest/utils/Permissions.java | 24 - .../epiceric/shopchest/utils/ShopUpdater.java | 106 - .../epiceric/shopchest/utils/ShopUtils.java | 441 --- .../shopchest/utils/UpdateChecker.java | 88 - .../de/epiceric/shopchest/utils/Utils.java | 646 ----- implementation/src/main/resources/config.yml | 220 -- .../src/main/resources/hologram-format.yml | 78 - .../src/main/resources/item_names.txt | 971 ------- .../src/main/resources/lang/de_DE-legacy.lang | 919 ------ .../src/main/resources/lang/de_DE.lang | 1218 -------- .../src/main/resources/lang/en_US-legacy.lang | 1163 -------- .../src/main/resources/lang/en_US.lang | 1455 ---------- implementation/src/main/resources/plugin.yml | 93 - pom.xml | 1 - 89 files changed, 19571 deletions(-) delete mode 100644 implementation/lib/IslandWorld-8.5.jar delete mode 100644 implementation/lib/Towny-0.93.1.0.jar delete mode 100644 implementation/pom.xml delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/ShopChest.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/command/ShopCommand.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/command/ShopCommandExecutor.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/command/ShopSubCommand.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/command/ShopTabCompleter.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/config/Config.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/config/HologramFormat.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/config/LanguageConfiguration.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/config/Placeholder.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopBuySellEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopCreateEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopExtendEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopInfoEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopInitializedEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopOpenEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopPreCreateEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopPreInfoEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopPreOpenEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopPreRemoveEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopReloadEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveAllEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveEvent.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/exceptions/ChestNotFoundException.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/exceptions/NotEnoughSpaceException.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/exceptions/WorldNotFoundException.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/PlotSquaredShopFlag.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/WorldGuardShopFlag.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/ASkyBlockListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/GriefPreventionListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/IslandWorldListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/PlotSquaredListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/TownyListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/USkyBlockListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/external/listeners/WorldGuardListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/BookGenerationName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/EnchantmentName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/EntityName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/ItemName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/LocalizedMessage.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/Message.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/MusicDiscName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/PotionEffectName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/PotionName.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/language/Replacement.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/AreaShopListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/BlockExplodeListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/CreativeModeListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/NotifyPlayerOnJoinListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/ShopUpdateListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/listeners/WorldGuardListener.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/nms/ArmorStandWrapper.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/nms/CustomBookMeta.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/nms/Hologram.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/nms/JsonBuilder.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/nms/SpawnEggMeta.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/shop/Shop.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/shop/ShopItem.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/shop/ShopProduct.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/sql/Database.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/sql/MySQL.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/sql/SQLite.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/Callback.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/ClickType.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/FastMath.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/ItemUtils.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/Operator.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/Permissions.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/ShopUpdater.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/ShopUtils.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/UpdateChecker.java delete mode 100644 implementation/src/main/java/de/epiceric/shopchest/utils/Utils.java delete mode 100644 implementation/src/main/resources/config.yml delete mode 100644 implementation/src/main/resources/hologram-format.yml delete mode 100644 implementation/src/main/resources/item_names.txt delete mode 100644 implementation/src/main/resources/lang/de_DE-legacy.lang delete mode 100644 implementation/src/main/resources/lang/de_DE.lang delete mode 100644 implementation/src/main/resources/lang/en_US-legacy.lang delete mode 100644 implementation/src/main/resources/lang/en_US.lang delete mode 100644 implementation/src/main/resources/plugin.yml diff --git a/implementation/lib/IslandWorld-8.5.jar b/implementation/lib/IslandWorld-8.5.jar deleted file mode 100644 index dfdea1c7555abccb72b568c045968b7e4542c488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310548 zcmbrlWo#wgvLtGzw%g3i%*@Qp%-&{ZcAK`DnVFfHnVH${Hntht`1+i4=V>(3eD~_T zl1f@qNwxk&Mn*1cL;q`Pvw2y zSosDqJZFG@BM)uV;ClOgpVKq<`2_g%dLJ_cnLP>&fdZleL|5=dSurb9?dZy}6?4&@ zyBT*WiTjZZRyEjD9>m?8{WCE2V2Od_sFy2|R@V1W7BC&Mov7EOT^&8}h%Dn(naIze z@V8|P+pcaN@-r7DjRPN5x*n6j)=@iP6898C<$X#D`i}ZHjS4X=_RBgidj`iW`w*b3 zsz(@hWJC|)10Ul0p0P8KIKCCblNIYbRs1|zF(x{jD27T`5C#?lcxB7J7S@J(Wf0?^dw06lw{8c0#2 zv>%Il4ZzwAtNuwa7R=J=C^2XSB%PC>mLigNRSFM{Ea=EWQ`GJ}Q~6=x&Yy1}kf@El zbDH3oT4@~69ps{for!;C{|A<=aRM9L&r^JGiWiQ*@3_6YSShbtCWB7RHj7T-f?S{$ z7dQ_3YsN(|e?O?d8KWbsl{=I~N!Xg1n){6r0#_7n7i7h#*ev5Jk#%r~=HwUwIv$P#E1t-BQQ9-(wq^{~J&XzE37d6=8)^u9(GcpLi z5uQHQX2Un?$56!1sVxPm)P%9f;ERF^-;W^agXWPIXN{CCtC@qr0baOT62({Nkr}Jl ztkPu`yy_F7^gf_AtlA&wR`!+fHmdem?nzY0l#{2*@XDORP2l}XFnxPq7Rv6H)v%!2 zjetP@SW*IY+^o~ga^&D@MNX@4;|hMhFf5Mfwd!vhfc~#4HK^Fm8l5FsG;Bh2Z|pWD zB)guQZFIh+AaOcrDwg3VuVgU%DY0)Y(FYx-T$$?x5zibeyd*>NOqSKB$Av3RmK*#4 z#sdTYp?)C`l_GleqEah&%uldBv-qKJZnpeo zk6UVE`k$=)ZyspAA#vDbIIrje9aNP>Z_$UJY6BK8dT7sy>iA{U5+Tg+WKVhPZUoN^ z{9+!HS@?tH7C|<8O`+MuQ129_p!@BuSW8{-^K|1~I>rD!T8CIWZU^<>V1!E}6x}sZ za}iU?rOHi4THo~vPOcKglg`^;*r>3Rym{;_V~6lv7f*^3{Ds+oLx)pfA*6?0hcyrC z1qn++eHz_D{-5`Fqd-a%Y0VcBBfi+IDRwUk}{n&#s@l>zMz?rz{k*%1!Z8+hM=ykSx- zz60X&%_^!mf`dqxZm4vL2{tF5Vnt(EKrs_>;MLLeo)dmW23(iB8c-C3mnpdkp^%&edd7JEP&4 z;vJrUf`gHM?^%Njfl2im$A;C=TzeE_cpe17zO1h}0niE8FbS>SulNR`w*>bYW((p8 z>jIR5d!#!OZAfaVX?wm&{IZA8lij9+yiRr_TRp*? ziR034i^OinTYcxJLNUouJnwREL}+~#fyKBOuD#_h$?Dy0GdYyq*39lXLmo*!Kw0m2V&9?MIDGVv;O=`_3!y-fKdaBG45w1Ub*1_WdSVSBImf$~ZH7!TMZmT&38^64Wx&BNj`Q+?rzk)*-pX}1zJgx?Um73|6VxRBW zM_IocKCeK3V>@80Iku8nbHeq&Qait{#J6Yep7qF0T(+)h&Q}xY#4oAEPfd39(cW_M zT-Pb+K;2a0G9IDv$K!g>pbZ;4t)CfRw)~w7H+CiV#bR262Y$l&HL2} z*bOD6BLrtPIB@urAo_5bzRLp($U+|-*p z6SKnoh^Eam@)td@YiO4Z>B8C``-wSCr6owV0#iV5BIdIu%$JFTtNq%%YlEtYB%_PS zj7|8Nsa~nR@sauff(W~W_5|ZX_DhO#=vQ5QKjXh-z?<7ib{rT8NH6674|ucu2i_%W z`iiK^Nc?T|`Z}rZ^h%Hg7!~u1aFBxa=tU4o6yk(3Ob2#WYmM!{IkxD5FS5S3m^UUQ zSbj`=Z$;5AjNg(MQBX6tuYPy9m>*B~GzENqz9JZ5Gm?8^QDjLNIAB+5f0=Da@Ec-0 z`Pfs!q4>g2=6dHJ!`l7ayZmj%E*X?(td?&l$$4k9>aW_OKGul+K3lshL#MPY^VKg7 z><_diqwA_g4zok8E6(a{nnY6E728&@V}4n!?!*8Q)dGeH+wUYG3o*ekN|?bLCl6%( ztUZXdw|3ZiR}EQ8W3Om@)-rTRt<~ zdA1%ll512c=UwGJq?W^R;(s+kug>tM=VrTOi^dz@cxH((!%+JqciXqE<^{t%OwMP7 zb%rcC%0|Ef&%tIP%f6|0VacL?Ch%1l0@3oW6GUXrL~Ht8dhx>DddVc5!Ut_A>#zX> zd(`_W+5scn`?2|Z)(NFXr#vneuqsyPO-hV&Tko!O@}zc9M^h#rG7m(Z#0EAMz`hVx6a+O zq|cdjT=UH+eyX%$!v?r%ZAA~uSe~J&hXoY^He8`;paXtG1xKhR6mi2`QWuxDie$El zPhkT|5E!zQVH&cSG^VsDi1bGy9@_Nbno=^v9GN^TX&l|dDK0lU57KJ~vp0!kTa$BJ z<&`&?5o_*!7;T8!yzyidmH=PB+l)uK@Q>Ie5+bsUC>($pT?eV+$ijGMd0U2Gh0MX|+C=>eeI?tYoG$cb)k*BKF|TZfsS=2kycKcTfY1 zc2!GCWlXhrN%y{5D+XPWe7N;S(ebC?X`6z%G#pcS8auaUG?D^)l#JK7YH1%u>RPtW zAGUHnmkd1G)*9`Cs{ygNm7oMFjiuoPytVKt#wkTX?7(d;iBv&?sUPLltJNVFT+Vt+ z+ofdEzS>HUxNuI(OiDwYu{=X})k?9v>qI(u*Clg~71lY^OR->gvg>(G zq|Ck_Vt8`eY_@{mfhy$1BV6L5qM@pic5_Jsv9yCqC|er=(JFnz)E_7PcV6sLo5N^5 zE=;FwqN+B^%cNErzKQKyXeVjvhLn9;tmQ~=+(z$T}z zCla`yJ(2OyZhV*%J-f_B{?memXdbyBJ@>r$Po@%KwR!KaUJst-Gar$np4x^zY!tYi zaZL;uMBC(g>UhZ&AY@qRR!%{M?Z&!Lf)f6z624+zwA#CJEZ9hjFk9+?(&*;)$wZKo z^l5d1L1q?$E{|LbXom1xHJx9c@FnR{ygA>3Sc!HD|1HUIm?ch}x*{&W1?c-^b)3=j zkkZJG5JiNHjHmFrwjFQ_^K$=(?c^d6Ay=pdcXIf8p@|xd@jQ75)zbLRIblB`^IMb~bDEj1+{i!ilK1geYKo z?NCy+6Gy-j2B#0pSkCFFanCs51NvW{5Z_UG1cca71pnsW6At$8;I+~|vo6WUw&UE+ji z9ZoysbBw271o=f96kSCz8;nKg&?hEwU(Y)omo0QdXHv3_nOrYybgPm^vKvaW;Ex!2 z%G8?xYZW{(_PTHvD5M=Z5U6}Ct$@l2mjMjU))IumG#BQPW19Yct# zlpwGUl^~QLu@00V!(kkANJ)NB^do#nXuP4|?i|2=g)g(NV}EY7b6DDRw_7w?o=nwk z=94rEP!0~kqPFXHJ}0~Cch2JAMvX8V1F}yWX$;r_EpXE~#)Pj*)eyALK)W+^RC}8WhHXrr)FBqb_0ZYSrs3W~V%#covMU z&1=q5F3~0788$VHH9}MzN>wX#VoD{q?!V@nav&I#K@G|^?B+Dh*3iwc4>6lgC6FDw zVq-N61;q^rP&grosvtBFY{}{~>lfPFzYW7I_#=8p>`9)Y8sDn*2Bw%OpJAoN&R+*t z5fj3{5)nKN)FakT2w*)9q#p)5J@OJ)g!(t3SsTyOh3aB)$U1*3GMBb8-sT$|#-v#Z z&3cIWruo;mE;pDh`G5gDP;I+gg*Yy0}y_midu0K@Jo~O7Dd& zEJRA-gE9f`^x0A-NML?Y?5rZ0haM2Rt8VoIvBa7;XI}Ii7XpKxi|AZzDgN7_f;OJMu-oM!IOM>mC;4j?I|JGFhcgWNJGy5q3JX8QC zZdSHt|D`PVr@E6X4$L@?@369$8W=A2jd zLcSN2ecYcAzIn4;M_lS&6))a@jn1$zjK?Ob6u`F=De;t`o2Dv zL_rh}MX}N0@x4fEd4bl}vZ;2Kx5Z_OFgH|3ZmR}KLd);ZSN zXc=JV&cZ^FRVC|RD@x%cMkKX>+s*OCz*xe?Z1>ZF)xNW{3s3Q)qkF)QkR^?}vUA!F zSegv5IARSAh1}WU=)Igt(Ein&lySr@L*J66yV>H#D%-Tkw!vIahTZAXx#S;_EU>e@ z;}47@4I}qW?r`Si;yU|?peQ;@wi#UXM8{H~E*GbY1|d*Y3X=c|k?}B?&r-!Bqii0* zRU%<*YD2Clg}5sWFymovqQWWU0}sSxIR7{ja}HfH_i4CM(-z?zRn|mZALf(g8*>GW zr^=oZ3t>X8$=^N5>U8K=8Z}@I9D4LKq!SNgpS!uNo=>jpxmgYAf6^E~>_%sa(P5Bz(MxKO=@ZreyQnZO^)f+`@YU_`1SYdUJvV_$1AA)ndR1GXR$1 zWK&|O$hn#~U{F|t9A%g0FF%Z#^k|c2NPkg2rLh^Ams4L5y+sD-yQlM!!mTRfHJHTQND?g1RA!Och+ z>v2i;5skw}5w7l%sl2hMqhWS;&D))dQ8lj6$jb_kR=v*|) zjy(X3sn`zfMyNaVtO8ZIeEvxW5sSu$r&(&ggk20{zy2`o4o1VL5c>~n!LiK0t0uDP zpA!Q-GomSmmhsHRofLpflD<^6HL#u#)Aw)~Le2JtF0}nJ6%1|Acp{Fot#VcSSj+N~ zanXCmbf{BE1JgsWshY5PW(_t!<1u|avj$%GAb4f6Vq>8Xz91_A;j4p?t7D6`nc7$? z_XfNv4a4(Kd$g*g(z=jv#MaU|6=b*e4J_)ER+-xhSd~YP)^i6t7~Mme$$REivik$v zl}^85P9XEts-Uc()(0W&JXfG8(8lJ}aApTyz1pX!)E{99r=T7+$S%y128e9a z8tHhkFWzSRqg%imBxi6(G%nA@mQt*i?c1Cmz6QT-fM1|T|4>&}CEOYAm?`*sHo4yZ%=p6Qio{@VAiRUxLIql}Vt1TXwJwTs3L2i;f2Z zMMSoPCUoF$2k2aDw&-M==-A((iayax5bfAF1pW#O4~az+QB*0TtBj75Z5IoMzAs-v z$ofb(Y*qLPa9SI8`kmd6d8g_fTk+vKuk31ktk&c6TH>K0q|G(NN4lIVfUJAn%sy=; zdrk8QQ=I}yBB{hBpkflcAYfoir=wb~7jIt+X z2G@4VNkS%=@NO}D8!E9+Y9FQgSt3lBYCt@+-I%SN%{!Xo0!m13B&8xocf@cV$kQJ7 zCi=?rIB~WBiV}mVa@?G7vfElR3`;=g*ONawO9x?z!Xg?2e|fWH6arAFfBE*?IX47= z47k;*ru7`mNFKOBvk6@{{1@9dl+?9!WjG`Rvf|# zj)J`T>boC+$Vx3U!PxJ zvjN{vzCKP(L0b2vB-tWR0`I`jh1q3TNf&Ah zz;y;wZoa8?vu!3Z%e#%wLqslG1-3X%5k!0kjE=f;W^%BQc4A*XWoj(eOPMZ-#Dt{C zB&=Ba)LyPk7n>)UORMBKLWo5Vt5Go1?0ZPMm9=Uc>A&CgTb1<5bGmtS_2(q~LSsa{ zpS&??==2|4u_tdKg3zGV3QQqJE7B3>UWGxEJb(2nl?W93QKCr&Lo&SR4Oyb3)u|(l zjTV^Vw6n~^T0uN>HTBmyu_sq6GHh|XnnO%=1mW`4oWzCZu~WLCS|^bXpcXN+kc;pR zR5v(gskIk#P|aER&W3OtzJ# z9drvqMv^TJt)=~{9ZWr;(=+!#gX0wkl77Frg!M`us-QNUZr-e>(?4PjuG%ZYxu>=! zivD+4{ihku2s?t?h?7B(KxAk=2Fkh3@VV z&jUL+lXda@W!FpB3rg`5F69ch;)F|7gqF}jDS!-RY?HPS8&ff=^{uWMLZ}Ad%S7v zEIaan@xY?L9%rFwRM)8dOsuZhz5suU=>Wqjwx%Nts+qnApSRmqs_acmaaki{IOhR9 ziUWl|eZz)*#?Whc(2#Fu%GH*S{f?K1hh}wCU0R!8RZv^Q8BxYntLu`Rh$nQc)OOqY z0_@m|3f%75fSj3amY(qs{7&Q3*f<()-?eQ}g*Ro$>ro#V41AJ6T+%n(%Q zGxK_Ota&MMcW1BZLaGI(9n;h{qu_7?u}Q+vdys4w#sah&xfb^Er@Fmm`n}M%Tz^VZ^?sdeHcSD)hXaymz2kefWuYFwF0rLnf|C}sERVfV z7i^UCFnBy{8xwmyd^7dvMYQ_^Vi3D3#e&e z;w8`62F=<{7gz2n%<^WE-X4jk5!;EjRYFJT)V-)0xlp3uo}FpP1qi%SA3o!wACma* zc+vM|RLPXq*Y-|w zh9V&P&<;K92)Pr@4N&F@DdmpA{UM|I1-U$4=Gfw!$#mP5dmX~WaggH68LuY09?5s6 zzJEe3yM|PYqUg;oEg*t6kcn4YNSG+#MZDZpj+-qZ>f3v1IbPUs0AHwWJ8?KFalRrL zG}&Z{TfHt2v$o{wgVAQ*-~*+fmN8M-=E>{!X3?OSKjMM&y!K+=V7R}9Wlvo}oiRc+ zWlHa#s!CU;YZfy-xQnrWybt@LXgY_z%^D#?(4IC-I!5W$+`@xIW+m%p1m!>paS>ZR z`qAnBPR7Bp`l9_uAN(2pTjmB+1o}mXU;J7MGw>OXk14I7p(W1r;#GP%v25FvadmDV z{HNr|EuFxjmy^jp+vEv4jljSMwr?VjX3j{3@KX*T*EW0f>~4iGaRigLS7$eMWKAM& zn&e^#gtB#5wmQZwdEEjjey&jO6R+x*%Q{g&p!{8$Wm2C=-#h!$(1nCq~w5Lfq09N--PriA}tGCl-JQ-y3-j@0M&J z+#5p-PaR_l9~)Tq8Z1)3eYZbhxO9(opSpC)eez6fz6#1N!pt@lky>70OcC_ zv6}`(4z$uTkt31MuE`u~6|o7T(q;;W3jM8r6FaNwnYq~#Vud9*sQCVFsLARtv!}W& z0DepOFInK%tL{Gp4FZCS_)of)?tdT)M7>?QQ3tGemq_iGJ>^(o8kfB+e#n8%`YkwwoP@sSy0^0 z2&6e(OKSWVSQ_Qop}6_rKX=aSaSA>@r7W)P6CAl{u)#Dn+DZ^aFION%wP{9}7|nG) z5_TW<^N+<;ygLn9N%XJgtmmEOX2)XT5>?0~J_xH3yIEQNT`Yz8Z5CwLs(4AglB%QEqFr>3%%mol&{& z)pqfZA=(NrxXS&cWw5_C0hakNo2YAXn0IIk|3!z;v|PD&o3)j5uI__W6?Q2LxuDKs z4|NV+YGR0VrIuCjkp?iszJ4*bRI;`FNvJFH&KTC(7si-cGF`3v2>}kLA-bT`kgJ)- zB=eGK8A7yyBx6R!Qf%N-i+Cu_o#V7vo+y2cx)pj z)|y+Tr3LOv1U2|?Y7VjEM4F1M81jZpavEEV{@m8TK-)$D3)RGmWkz@V#x2)*E zc`gh!1s`e-LV&DUm$G1&)T%Vqfp>wMm2kNrGh%IZ+~&-{h3tYWT$e#+A2#Updnyj; zuC_i7N6v-wU8$F*(Tm}5r8-RpqoIbkGYL8R3>u!!q{TjhYn7E?WOlFe)^S8Kz%=~D z?i_L)Eq1u6B!j7q`FaCFpjHpgE8S?`)o|J<7p8_Pjk(H8KE(iuc!Uh3N!&}BQrg_2 z`FKwUL+@cLTW76Cz}V92RvAQIOn~4eWEcn(LM2tmds`XmXq&UcdLjx6oh@-;dLzsqFBJ>kdTU#^lF<;+-5=xAvCd#bG zbd@rc0k1(1PMQ{Llt4vEzNB1>iH?@M#*(_Mv1%+li1LOkbdI?xOEdUa<18^>$-Whz zsAmiGG=ENo`y_Hp-sEWJ{$rIEY>&J5EuMPN_xr{iKl4pTJ2`2l_z1>*kTL(sT)sc_ zSNZ$m-NX4vG>6>RN~I9ek9@1recBzOY22`HjI4B-h0}JZqQ~_&2Sf%b3EnXSFMBk; z5t9@bQZNowo~RChhCOQ>KOAuj^@0dk4{mwxx(tb8#U*hwRzIElw5%R3v6Wf3bC#eu zp2HzyykA^{NPp5A(eQ@4HX4!G@wBrdNpTUxtDL~DUAo8S9Z7GMZa^idJ1DRZNhM5* z)YQn@s-B33Cil_4GhD%EwgG>V)^2R9nQFiyvcAx9j%s7%68+{z5sgODN2OK9_?3{n zJaMiRwoTbQ?){l#&Rk+o`vDD zJWM1#X>}2mWkpL&rdOVMLO$y31^LTrnJHwYvZ|HdHkK7Kjv%7IV?*8QPI;CC>*uU3 zfeA7@>#qkxP{c{IJkcIN#&75C1aG|l>$IE%-ZCJx|Lbh=2Gb0!Wj3Y(4^YSxuW2a8 zG#%G~1GwoJV*!6Z*KTo6hDZbI4}t#9RQaMTcQVEl)fc7XkH@*>pKhO~_e~kGeVJsj zc)A2blmn318QOe1e~FNuv{FzV)LuNA#$YrN>$HtA6>}*&bb>Tals<4b3a>G#ZS?3> zO>Nl67JLl5Jv6W8gmSwX32STef^8?Ct1}0&Nxrk9Mtx?N=${|4b_egRu+PCQpyuX@ z=Efk-aze=UE?~~KsxcWV>GPDvO3gUnc(_QtS^EK5bs@3fh~ek#4!RlJd5?t`hF#C% z$g-X_(3_idbAkmnH~GhlPcf+j)6p?ZO?T0`$qBFS#lm97oByUYKp*NF9xuKB7Vbex z(nn9y!w7@h8_nR8`2F2<`XtYY_zPb66LRoxhQ3ohJuGX83W)K0*Y$?%9TV0O9G*Mi z!oCG191|A^+ixRvg7AORHxrG*>sEi(b<`pQ|Pc|j}@Qa+2 z%3`Px+7wO?pWz&Mv%v98O7bdToqeA|v&=qviR-?!-Rm5&@y+%oI!hP$VKU z1Mw+xLS7A|bjZ1)AL3+K?j7-9P@1gpdnK@-1(XpCB0lg-9dXwO{Cm{M?=Uhk90~-4 zAK{-e9OXY}I2C}M!~g0(*J%DR#IwNu>aAyDWRf;Qm5Y#XBxBRYIOVXiMd@FzCk9L~ z5XlN#n&P{M0gT+ub8-;$sZWPW|41W-tNvdRd`pvpZIX25|xgfA$dykLqAO+qH zS53nd+8#x(%WPQ)BUup$!BEc6QmHgkPhN;^ZOFl1t0QXf{(L zZ?TVtM~kT{t&`K|rS54}Q3O>tXbkJYWUJFed;}AVQfFS3YLbPa-3a8=)1m~$_iPE7 zHR-C^NO78Ouv3|MsCeE2d&9vVTM+-mZtkzIp>k8dcbDQ4_G=-DMOj>?&n_2+p#*G` zL#R=xza?iTAsH-v*$2YxQ)458{)E8Oc%X}k6p-0{q%DI3$4b7@$wbvu%!tMUVpWdO zt7j05>qt++;-Xd$u}BQBrZ#IK;DV=SG%w2mO_Pnwz#jp&tThzAN8EWs*R;(d>&PgON)zYnz#s$pCUer2u^LqJUAQnsDhOBPrPmg@GrT^ioIOX%2J=;ZxWV4aH0i znFel^*InGX9jxQ8c-QnPsNO&&5vqc`KohHZK6D367Z}hDABsT=?W^ zUcUGJbM1Fvzbnk2=c(}nd9+d3vG|LyhWxA}db0*xe##{U?(qHGlv@tUc2v4@szKA2kdU~f+p5{n`C^kWIsNE3#Y0tibW;9<0(%RLR1j_ke~I>& z4YyoJQuL0HVHoK>9@==sp;Tx+!+jNvbR53sCk*sIpsG0d<_L-t&1v~n} zeb@)5cX3Swhx}>Xz70yR%&W$&2R9?O;TR{D*?EeVuZp~xTMATt-dz`5CiN9sdTIh1 z5^$=JwtMiV3@}Zs$cd7O!4d--BlGL2rSNdpIaQ+79A^MlUNe~T3|Xf~4&WGCFe>eb zJ0d=zeuV9-I!GdVBbZEnr0cnwvu`Yl=S+Uiyp2~o;Bmtby9coBMD7Fl5(?%E(14k6 zllqHbRZ;+x;bYQ**E-W|yJ_7YIKsG7Pk(w?aQtFXrSi_RLYEyLKj#^X!v@<)1?Y(X zC@5ZbE7veI*O4uo;Ep{x{i&5OdCLmixoYEjikK>k9O_=NV}};QvpR@gDJ#yd8U@BH zi|Mh?!xXVEC-&i?gGcN1cmN`RLLR)w^;0Oe-y<+{&ze`RSRN#6M(cdxDZhO{8pNj(D z8lpIhBB1BR(m}8#gU&n%_m$oz=2^n-M7KR4SL8;$VZM!7dH`5!n40qgbIr^)#1BdR zekb%Vt#=Gl4AaJ~j;;654HjOl*?r?0p1-oXq07%P#_)k~qb$-ucx<81*Hz+2F7$>( zk1>$=qC20;8{BzVQxrMxsp|@AkfoRPtZ;*6glnMp>h>42Z9!q*%^VY3BPo^WdF6|K ziUdZE{vCZHV7*NFKKgddw@Xtl&c}4_H^#RsjfZ%AOK|OTwm=g8yiin-NZ{rBBN@5f z309KvC^*P@T|mV4``{ZDKZ7YpoMIc-@=5re|G=-Aqr-7@-;8#5#-JFuk{}F~ke&N> zwJv$O^VhzGg~?g`Ai7-#Qb zW^bt&ZUm<9K>22&Z~6Lg8E=eRBjOs72u&&fSglT7n=;qdGYiZn@(q-FCSvQEvifG` z{NnLR$5ohlY*8MUcDa(c(RH zw{T6w6FHy??JFB$|Jvva>R)BGh5Q*i5ex{31kyi=4yON!=nwgPl5o3kcT)bBQsj|lj&)oLCOn}%b=?()0qgPBc7YH0?D&B+PeY|XZCJbn;{mU z3H@%0=zKVmP1=`N?G>LN&IByH6Ak-%-1NE%>mV)=S`=y` zI-5vy;dEb28M}^k5xMf+33Khtrv022;j* zVQnDyTk@-n$SJ;8S`6e93jdwG z@SXl}yB}#J%reiY{YR8geW#e6+O6?mb7TM!9cfqmN6=?pIwh*$FyNQpkR=QubE(Lr zV1LbAx>A*>T$PdY6UZ~-jiabCEVLR>3h{;4u{YGXH-_0jGRVt z8kJWxrI~56*cX)+*cOEk80%8A*AWg9T5f~4qCs8AquYj|MCn3yu8EhqxDYz+PGMkwEw zISp6H&qUJFC_7UHCuE)Sr00ua^{Z2+e>Yvf@%miLEyG zr!r@yT2#lZg9f!2gwopDGg=F_`nfi8eRK)Lf0Da(_Z8S#qdv(e`x!Fv%CNlo`lD*? z$?B|TU%NG6j>t%ivj>RAKmz?eVbCpZQGzp3YcVNGcp1>qab?)K@skX~)P|Ym`Y|J~ zl8u$@8hGR@*qccnQD`LM&0tW<-MQ(Fikze8EP2XlpWzsFN&p1f~056ovu62 zM#>xPj)c@Jn_mXWJeWR~o5EPiB>lIRm~dSsOPdX3#;z=mH39fgR~F#ogA--cO-ZDGqb zuL7e+iY2dwJWWcKnT-034KL=RM2}00IW3bkhVT~##rVBem0qmvPJ(;OZ;Fi-7TB_y z!W?u>H?Py$EkV-7?5DYEX%D8q3rnPUv2(Z_L18-mvOkP0cO$sux7uPpLA_sp@|4bH zDl(Yncj+?NU&|@a3(qO=08W3Gc{uobLhIj#okrws6{wm(`|bH`j-75u5){0L{7`xI95iuO;;DbzBHJM#Q~Q;v!@ccMIpN`CJJx?s)s^n;I@%;$ksVb?Q!sp8-z z?zD1$1kPj#J$nn%?*gNDBzTy?z~Tk}=zcgWet8)nn6RYIGJm}{l=In7AoJnxywDX@ z1&>~QRn#UZ6x|Cx%Bl4U8l@sG5m`*@$>?09a1ab9U{GWI;DxgR9<%Emqm%jZ2{%kb zE_vx5@Rb@eel5&KGVsd|##yjXPdFQzc~Ug}=OvRTbnju#ORUEcX5!^-IrNSfEG@xG z{`i_pZ>iWV)JbNTKty) z8UJzd>3>9m8dfe=uKx!K?r7rv%XXJyA*O=_GpSf<#n>cc8%B%=qlTnzk;<21TDM-2 z#~S)Ou(z`VVN&DwIDwh>TXoM@J+2s<-=A;6<-KT_H!EKn)tifQqsQes=j}FYZ~Nmd z&+xBKh?K-50BQ-x*|gT;;PRH1I1FRzdFf9ESCKfRis>}5Tc~d{!fhSgu(&!@kh3e; zcf4Fqr;aDC&LO=TcImLevlo4X%Ih$Ni8_#5YC znI>kgZLOd7ap5hJ#?r)j-(hFwv#o$?FXFLdl>ECW(yX2*(+CUS&((yH@P(U+i-m+4 zMRmCnQ&ZE>93hGy8iU*+usRbniBqHgMAxrY&V(hJYpg6)mQ1+GpQX^V3>zwWeA}+D zFkkEwL)Q`yKH?LN`{uc@@bE&vva6@^O*mVWDm)775Q}U+PO)Ggg@Kid`=H$_G4oPM z^+2kT`ZPHjM;U2^3Dl5^r>Rq+C-j1^M3apE!vszO$pQwcT!WjO%2H8ONk!gmU%q?h z7DLn`SeRHPcEMlAOOOWP3|rM=cj0_p~pBdT!v)*k#wHMRts`^-~xpxYH*3Q4_(isyy^gUg;dTOif| zZg-4?Ik%Or%IntGZ)HE^g)SA1?ues=0<65VC!SSKcDkZ9er&m$+_^1h_5&QU>NI|= z7}F&axgV!NNGsK9WSbYmrOtGk$uyPf6d;|_9OUM!W|#Id=~$uuV6G10VYL)5tPelo zEvW2>n8yMEFk`3HOVzVOz7Sgg0P<*+5{xa|IA?OaHXw#P+dq%ZXMA(9@bjvARR`DO zJ-Q&dKyBxhDkKXzT+Zvc!Whwh)=S%IUqSkQkHYcNxskqek{#eE2lQ5KPBA=Ms!4@s z`v$&<``S3QoJw3TdQs>qCD;;i59F}9VkjeguS4w@SR;8oR z-NpK=e8X;2vx+R8B}zkMd--Q!m;Gn-_$6Ba2K?bscI{?sJ$J8lIt+ugKpRL)YvB!cn?_4FPv_;FUdh`wlxmn37*{fkxDZvFELD$mcXtKwR-*lAy-K=k#mh zQ9ypqKN5xj7-uNK8@G=ZSD1!q`os2w8uM}tyBn;1QG4>lsYFvc@v$4YYc22;Lh@(g z={IL~*F73$;?RQOy!yZedPo>;dn4lOD*e|F$_Bsgp&LvT+2X9!#oxtg!yT2UxHkm* z13#`oNdTH%^dwHJbdd`f2Njv!kx+#h8I+0?e9RE;(`9|ksOC~ECMJt*BDf92Ge5dM;Bn6`O zCfxfS+UH|rv~H`R^g#kh5QBe29`dGBA%&a1Ks_5P$71t^$R{Gk`Vi%22HXmMp`5vo zyCc|zxzZSXA3cL}>5SwWCV5wflnheCYkEimrbsBlHC_lzy(I1uC!%=%2=o5~=nJnK z`26>tMretKe*S+;fd9>;vZ|GZ{r_&srl{*Wph}{Bj<${LLPndyP^YCY|FDxvl~uJA zWi-lXXHOfoTAYt+Zh*G9^R7rSUt^8h+^12@O8T^?lqduq2 zyN`n0zdFs$>M}d+(aUY|R2LBN2HyYeMM+f5C}51)Zm&V@sPuvxp$X;uTlI;JyXwqj ztB+xiy*Hhf5l$>T5QcvO5}6-={mb?32>8uck895Y8G(Oku+#g-Eno zKi-i8cj5>H(6G446gDQm8=$|G*C!k-iPaPQNkZ0)ya#J&+=`cmvE{5sKSL|TVy{Qw zg)9s`R+v_`B`G`Bkk?t_sOc>X3u?}YH{z$ zgl%dM@!cNjWV?=lu-&w#KH6J9Wsq3Tnv1U9j_NmS0TUCXYQN=V zzJ_6HOzn_CsEAWKaey6Q|DoTRBBF?^_5kbl#&aC1#5uFxE!%!c1IGZ3t6unr!Qb}8 zSs7DIlANc+*c4YupvbHs0uy-M4;2g7nf%tma|?2p#q_54)c%G+#~*%X$0c{L`3CCXNlS50aS&kY)4pNd( z&Wng zl51UgnRC=o%Cw8u^e9b8jy15V-A+q4sK=Db4*fcY3{h{outfXFoeFpw8R@#;TD^>Z z905u;Ay!n34RPzyDp5;LC z>34==7Y_(VWs>-R)5MH;ud8knTpPca&ASjj`kdjN=8@J00E<5%TTcy5#J=E6U+JSS z3{6Si&2P|8ZussF#82w;>cvGaL0&#gE{P7JLUjU>Mq!nad7;}sq55?DDN78QJ`tAd zs6L`e`%JwPC>obX%P$LC!w{|x#O?$PB25dLr9>O`Mr<;idAcH95JdWp=?RWLG%!}) z+QmLSm?xJ4NaVj)1I#s<+xibAhi)j-%|3K3Up<%}x46po0;>WL6~91fU-f;fzpzw{ z9u5$xJkxZ*5(4&PkPxDXGc<1rCgePcC2s{Dm&gQvy!?9#x3Do9>*wDEFR#B73;*{u zhyP|;!R+6Likz|6|Jv~?(b(`nRmb|;A>&K}g36EySyh43l!hjfz`%uzKq8d>fcTa? zW5psLreJY6U96<1C8mswjI2EjiF6)|h9fk)K*>*F=y%_@pK{dT?@@|dBF_KBmf_Ir z_s8$~xUJ9s1-aiBjr;}6{P;2C{~_(K!r}~@Ze0|IhQ_sVcXtWyjRyDN?yd>$?(Xgm z!QI_8xJz(L0*mjP|32LRT-UV@`usiVs;6plt!j?L=kAc{yE) zY6~R{9@vAH2po9$b13te$a*9J%`_b7yowDJw^~sT%|A&hpyy)rx8}`U%#g9U^3s1S zWHR4vEz&}PmScZOVFWc&-|aVByQ>q44?D7mFHm0WVtl@wN`MUe&nka;Dk!rm2|!Sf z<{C_pgMREI#(H?)CCs8nDJPf>wrMF9^^)># z_PMRAoNTHg_pwa5SvU$u9Zw7n6AeWGtGFzCj!uJMj;#*a{&dQ%V{cw5#=rs;AWoS= zs!n`FEV@Ya=uu3uDEs7q4HP9pl@gE2f;HIX={C{q9C0kBn{`ad&fIB87i*3mfuo>_ z$#7Qnoz}+*A&w*Zc0G%K>(roS#39!n#uInV@53iHu6n0u(U4w)0t@&XqtPNg%4 z5+a#kuOL*{lq5vQi?|idY0*%`JSJBq&Q=-E((jL-cP9VYSB^titk%G@#|q8DvzB%i ztb{iDsXc;YYlgsAN@JRi*Sl%jfOqW3Lp!T>AF!DrN~-9_@b*%}zIrKnZbnnh&1a&2#2$&~FjwicluRFg5Q z{Lwqh2ATA_#&kf{CC_T5ez^jtF2c_TrMP9@MQ?)oq@u7in3B4&8X@x$jucx;0~0q= zPXbTbwG#IM84aTvfYJpdzJLk9MJxHo=Hp2n5;f zrYWI%^`H5Jr!Qp9eVlHOLLS0rS-cn^F$Nl?9|v z*~erDm21598|;>ewMd`84{~;h{d?F$=%caMe9PI#^r-q%oP|xxg#Fy`M^TyveC7ky z?KUS+cCwVIEf~I}H#n5JE|{*Tx*pV+X_*gyl%}5rE(jv+d-lKA{5tS#Ot=&F=jD6y z?W&{jxD9Q`oHqnpUrFg#YN51Dlv`C1We(ab2+6tuN*4GXN$;}g_4mxGbiJXV?eyi2 zp`r_zf4uW%+v%D^MF~_Tm{D4pkKaaBD3a`Tsg&F6279a5h4Y{E2^g)=LdRN2kYw9K!Oqd=$91o*yq=Kq_DDo zc$Rac20;>@^F>PIhNLkk4@N8^S<*yP;@8$);JF12+=AWYdyhFvcJ;Cvq>8cqWuXv>FL^ zgzt|TgL+8mWu!f*dWJNc0d4g}-wp^C{-pXc_oo}!!lm^Mk=)Sm-U}^K`FaqT__dKO z{$P3d&IH(jZu_b$ecQRM-yT@?fR(|<&+OCp{$I_Yt7V!j=+mfx5B&eo+#HQuT+RLu zOzM9^d}_K%n4f9+P(@u@q@_YqTuGP)ecB6HNlEnbLQ2UPuJ{+R*3AM&TaT=5rXi1y z_=x=5ercA|sQJ@gw%m1%O$hP`)Fu~uml+TH&Oi6lx)7M{B$AkeGV2TSvkO-PsRuf+ zc4YZ!RDyadg5T6&zdDA#bo5l%4B@ndy}B8_e3iiabmbjH+Ff|bu?B07(QOZ|3%-Y3 zWxaDSS)@*AOh03ZyO!9V%?3}-Ww~t?rqPFV#v$b zIr2+I*0V)7VMiZf^_6E8LdL3cB;vJkqn*sp`>mt+tE{Ch{$tM z%fhzxA+7LC3lOF{_0~~zSAAA6X`nAKmN%h}+~lN`_A4^PaRFZS@BaPDewY}>*#A}I zv`^A%^0lL(p*+oof@qQtdll`z)N~(NJ8tp>I1y-v#A9-nOJn(^qZuU{N`o2+m8wSk)}0pJlkw#sDlRAX`T^sCPc_nQHX zgQ6_Kr_KOr^iIt5mty0Ung5mM;bxXs!8@f;t_m_663RM0o)dOSdrUZ>I1~Z7>~!$7 z(#Vtermy-9BVv{J8AUv?aFOEo&?(A-Kzq9$rhD&5O6AdGrYuiR57AblvN+@ta|YH& zAl^qL>+apl^w{h+@9%z1lk9h6B3%AH4HPXMIs)N$! zKkNVhlkxwe#5tRZ{U;VHcnN`@Ulz^68Ct~Vj*WJ<0}HZ^7`XP6zdnbYfsWjk4qoQZQxzwmJSS(TPH zWQ>F|djD#gv=c3x?908sba@qge%^NYc)P>*k9m;@j45Cwe6UQ&FZ3Wm1ohj;%@%I* zUU4s-m*ZU4a;PoWNy-DD#Jzjji#=t^Ru`9+>)^t(2IBc9?PAY67O>SoDpNvC`@j0) zfA=Ycy-S||~_yR*Mq z<GAUyXOSpC%TgM{hN4d*VX=>QbN+cnk@U3Qr2aTAn&2ec{@@(-6*PMQOP>LXL`w1?`)UNQekTcH z*)!8wKHhlS7*YIYa`NlA^zC>f6$iYQnV-b2cpH2a&R%@2BL7R7pWn=db*mCs?%nmI z{SFHcBuZyi$-IhFDA721!POS}4jA(3+f@`w!d>TC@POeLH>%2%K%HHH`o{46oJA(> z0cH05Xr>oOYG6@wa3dtcRv)1?XBQtw&J2C~M~w2O;mS=6E@gMT1Icyw4*oMz75I#p@yp7FC;ARm#-W`v?szFth|Fs zz~#9d$E2Ba5YH-^TjHi?W&g?gIL#;_8hf)tDs@%8>jKQpi`0`Kh_jjffNANgo$WKA zk0VnN&66mpGd>kLzQHC`6p`Ph3&o2az9DSsdxupVf~~trMbwbnkzz{_7Q^{2)_TKn z7xHZv+rCio1sgu%8vXlVyd#oyu&|@v3uaj`T{b322-~h*zRRXC{Gu?Jpb&E>irqfa z>O~(5glW%~mfoKlzRoB&W#+Z-tif1om^JLHL4#8dx8IUfEvGl_Ex~hvyIQ}vuj4Mo zXk=ns!DU<|b6}E;*I?@oRkzQHtSuxEx*Fa%-|{W^b99MuC31Fxb67A$UHrp@HzW{A zl$`)a_nFt8dx4$D?DyN9*AcJazf2u64_o@hc&M9KBe3$g@dGkivrDhh!xK`aK0Q1(UH9h;Z(f!nIX+|~&1Mo`Y_ z`(WPa?t17-GsjwHl71x;Fv^S(!ebCIE;>YO!timq8A-MRh`R-qG9JH+RW2rlZWgQKIDz$dfeuj*{T z5CT-u*4_VME`s~sNM4KYqtGkHyi}+-fDbnteKalGts6Co;D2|5C^@hxKv58T1!Sar z(xWl?XHttoV^H!6$8&z0862auWGXbmjxX|y*F<((nKQ>&`I+X|!C64&sx39Mh4vzSWQeHV*!YLF za8vC@eU`=k3ximIYugeR#=a}2J~#*H>n*t$Ul3`hQ|@<6hFcjESgbxG;F(rPSOQAg zkXKA1K<}b4;=$fpypWUmVElKtq|vFx`OddAdrH6 zVRy-@LV~;Y3}bB7jDuq>c^P9VPVqr?YI92Cs?wPvNYqIOn84>^)~#~O_!eYpPpA@b^53ElcTWKIN^7lq4SAXI6j`e?${NktW0XDMvUw%*paV}-K^Bgw zgsh2P>Y-FU>o75e5VPYiz!Oj;yWn^L4m}%{VnFq?;Hc4;O(}XdZkbtDK{h8B%YDfL z!=<_v<`D88&)D2jYtXrT=@KVZ^o=1Taqfsaheq;YSqk-FV0gihw{G&%lGkM{Wz$)D zhd5@?ejs-RCO7LCnZD-YG=M7U>)8}NJ#SV+cI*!ZLH9MoPt5N24vv#}`nL{j|9xYp zv~-gWa%K77lAPyd4LLn#@5`99w>yIvADIBg`&Grhi{}k$<@chWr7EX=kT;@huMm2^ z2-&D6Y{G~v!lAe_*JaxwD^cZ8^3BgLLW+6 zse_XTTH8%@ao^BAo7|$fESuo2I5iC#$-;KImcEQ+;S(B!xo!J(B@D*qPhZrdqa4*U zSdt8i6+CJ+hm)P+4O)6B;}052&hf#e98x{cA18c4iMxk<+L+tD>-a7`X3`t7Y_JMV zSj^qH-7giVA6>3|oxgH{FZ~Qn$%xm`$fkyMiY-h=;KUx+6zI$A>Tx#_KJ-P!>pLs^ ze)rJKkgK#z)&OtyCw zVO};Mr#-f=BGX|`$jwoy5E%t9^%pXdSkySqFweVH?$kG2Wm0_XL0V&r^WquDesNXd ziH%?8+W+5w*W>a$kM38Wkc#8~6;kp4s*U_dVRQLE8-x@MA5YcKyo2BL5#=iiV<-;3 zm2|pW={DGq)}^OVyr-I+s(&*&<%gali&^ht(pB&B-%{hY^ui59Go!{NPJ08~q6*LfC*er78 z#_jxh$W~Gs<0YtPA-4QjEvGqw_O#{DZ=zfUX3n870zn?V&dLCEVa&+qYfaTs7@DBp z`_>k0X{z2$^x`Szteiu~{#AUc9Pr`*JJLM$$xIy??mVjGHOcf~?Kx*qKO4e%WxByw zuy@qIf0-cg88mb=0~T{HrZsa74x?;RfFvl}JkOl7+N?aQ$~V-axqrR#h|>jgaBsH+ z<^vb?SogbER8fpR@TopmW81Ji!3nmDc&%P+gg|-H5Q*CzFhgJ_;|Qo!3?(2I)u#&* z$59g*!C*9NCoer(A{q`bXo+VW-N9W{1-Hu4S?>E-&odhjI?{z%9P3F`FiPpVOhAzF zB2W6lg&EPqBL1vVp7L@;&ZN?ltLX4;Hmw#7zhSTZIqA%CKEhv}=13G`H1qi(n`LIE zmFjo%L<&RXf)SP;5~rJ_2XBaqZ3H~|k^@qRtNXd*mLX|h#w?;hF}6LBS*Erl0tgwb z6P0)?@B|h#N{qNjkrih@=Y*K5LhTEsJ&&EEkaY1pb*3vzH*C|be+AXF%Zde)J^U~p zZwGCT$u!bt7TqwT&al*4nk)r*kW(883@$`nx({C_&Bqd9tw0{J9?{}aX#CliV9u@vf8t<;u3b7*H2^8C zbH!vngs84Y!nsjXtWs&jS#6=^Gfu`@ML8iy_zy2$Bxq6~jfMg~r(c|JD{)!%pI!2( zH(1gYN50N5gb@--03x$~Nn;W>HQuOjj1=9}nN`WJ-Pk=tRfH+>9@p5430YOS%$+4N~0vM-^l|I!+tAM%uc8o)Ah7I3%c9YO54 zN48M!Gm#)j{3TkN(${PSp#O{PfLF>=Ur<@CQHnEZ5y@JMZAlWpL)Y}(hP{WG-N7cx zJ<|6J{Xy0Xj^t>0@;5uj{zj`y=RJX;E80_PK9RF#YH+@9X|ZM}YX`4KjO8>Y`-rl! zmhr<`*#4`#wGx#$VjZf%yNv!?jvFtXi5TV1D#$9%L(+R-lRUyy$ym3Gf=o?_`M`%< zBGKG-nLYDt08_1NPiUDHIzmWLcv1#;CLTVDbrr!*Y2u|o-CA|S`1a;Wh8^UzCrxhl z8t5KB&@viAqC1^-uBo6(g_qg0$p76qWs1`#6pmi&+|E51MQCv8KA3l{=wvx?neuv& z)?)z9dz72#x7Em2T!g%^+^>+ciW63;U4Nc}mR&558(!eZDePrH%`bx?g8S5=ICj`!;d1K8)VQpx84&a>0G;g~w(6k_k(OSZ8omn@Y z*WUkM(;3WPD$W>VyKgob-?Q=^D7}|ye;EwK^l&@40rr}&C=0VJf4(^lIoxlv#|FpK z6-=(`4_rM;B+sdefvfH78Cj>eOR%ET@_W;a=bYwiAs)iS zvld`yn=kO72#;ih37cvWA#1n?(H>BCZ1VjFep6eZS4Z?ZUnB{TLZkmd(2T5grm4{i zW&e<~ur1J2gA|2NJEkeNvHiIKNji+MdZeN8uao82yLU|Y`yP^C;g+q&&uxm_znrGu z;adL62EVAD9wx0#&x-Ax#P7}SqP#N_@6PUF{UA>I`z807g_Y(DEhBHDhY(-6zCmj)8tc%%!f3yq>qX1%BneG)CPolUP49aA(PFLHt}W z4b6r-FJ#ms&F-BnfsLVF>Sk~2U}P$8 z>1J>9KhK8{^_~Av1mEqs$Enu|5DE&8GzoO*$>vI1x#*Xy2}CO(tt-?l)l*FgS^)%G z+s*kadF6h$;~*l!Z*SzY{HgdkMy}as(L$%fyG2Sp=SAGPodt`*Pzux@v)w1zzjN<% znrM1|{rgVT=d=~SXMCznOX*sbkH2ms*%Yr3&3gw+=8+aH_I0}S7%cTGanBq<|7%?( zfPIW=#G=j;q#K$>=KJxWH_p1W9yqewXt|!pocVLemM(AgN}`lkSZOXo?UAnlq&-b& zdb8ouvFsOIK+)~TIB*?ofBGaFs@jkPB>8Ukn=(j1eaiYfE2r}dI)aE8W>_F=5Y|Nw zR;E57yRT`&3bI`_r*KuqN!8Dg#o=h3bTtM2OCFSMa^%ooM8;JVYNn=qkn<_#;|TfC zK4z}$oXe(;8(xl=;>rDai9{77X)D{__1`~{-}VU)qD*V1go)nH{Df)5*N%!YEC)8sA0succ{^9(0LQAn=Hq$ei@&NXX?354Mz|S zx8Sw_lS#VK^S>`NwyHeNWpdsDktBU+nSb&6k=SR@DBJ=n-7B@wic8qQ^{V1$4==Ff zLft9L`TqDPyivI08v0uK$Hu%^KJj}x3m1W)2ctk=qJbi)Ybr>dpMa9{M(D`$^ZnA;~=v{cB-B{bXZ zlmYtzy3>c!%di%l%r~+9@<2kq z-9#Av<52KwGs-GvgJ&=Dib{O+?IoqtQkmYe;2vioiNM_ibyudwH3q_gf&_jmh2j+L z?EMwx%FLB5d47riv^<&(RdU4Ru*xxC9g$F8ZkGSmYzH&u}%+~CE zk(3Au2)>cj;a|N0dxi#w>&i5V-NiSD+Jg9SX&bykS?KixMaPXCHCTtXEl&(C4}@Hu zggd+-1pnjoPS}sZJ61^Fn@&GKKlDQ4^25aOBB;Gb+1kx{3I07?_9b%mQ}=#>^p*Yo z?KbEo%JJivt&BXayl?1HN^;{?z#vRE<#d3h-cXfuyFCa)*8XAFLXT=Zh*y0NA7`%w zQXqt?OZ198T6Tj;C2J}l(qW&;I_)C(m9P9oA>LFh|1Ha(jO+j5yMCS*()@Hyekd4Z1*4mwG2z(NuThhZ zyon$|!NSBK&*KxoG+w*|yF*c}R}SeOg*;KJk1TNBxKSR`wu% zma|<<4cP+EF7Rm?-`V=p>2dw{b=H9g^0L1T!xmWJ%Uyl0tu4oNjJU4GYdk|U+?7Px z!Inv9eSc7ynz(CtGd+HC#F|k&C~a|)TujzKyxYqpXt2cT#a+d^=8E4c!hLOGkkm5M(01^i8i`8&AL&&|coDHiQK^4`t!+?e> z*t4E^NX6N9P#h=x4E5&)4H}1^r1*4bQKdba7@9tY7;yR#Ki1yX!m%n;B|e7mXMKUa zM=?1~Fwq(vnI2ONKhr41nxw1M1ZoeA)Ls=3OnbW#34mU#Rd}C|!Vzy~zWOcISX=K{SIXz$&9PV^G@d4fl zLQrzTV>$?Gd9s=Jgme^dBqEQ#Tf;TR=)uPkPnuE!k9+&48ZU8J+BroYQ>l7o^kDjK zIN-%Ru#OFjhUCB#YBWMsC5MwJ($f(N08qkULk^2RZg#QGG{G=Ej~FU4vDi;IV}rv% z*IFdxP_MRfy0(ffa}3oh@aMpcl<}ri$!c!@s@&q*Tc5&bp3p4Q;!8*!_yn)16NXGB{kLvELZ}`fmqSoX}usz0B zoq^@SWta*!9EoDg#rfCYbL+3Ry8`o zYmRMORHWsiAeNuNE+H+^1XbPq@EMF!gDeOD@feh5hijy@4E5fbv-8GelUdMp z4C@6+wj69Gg776Yul@=jiN#kkm#IM6h14a_x0BJF&>VKH*HiiS&ozQ4;~h(`3#v4d zcybwV5+~Z}GrQ}K;jYnIfnN%(z($-57agaR(~sT6L=S~)XD7ii@25tPzCyPTb2hdV zUYNWwHkNM5EADT#SLZ#k$F&4EZg#z~sd@5)8u40QQGHo- zH&E5@I;%Ued$lFl&hA=cwN}U?t0`IBi@{KCGi(v+z9m15ivB$}qXw z;jl*^<(9@aal?UXS3FE{L*bZOW^!7(@iG%}e zzVu)ECjNZEve{cScSliOhG zpmPx^2++4UHz!**Y0 zbs)P2F?#+I(D1!FFITtL-EjGJA5u|#^g{l@{g3LiecSx#`&rn9|JQXL>Hk{T|IdnU zsvF>|JABLA)A?Jl+fONL@u#>5fX|kuRTc_zAI8y^Pva&eE*n<5;Ydp&H9D3uRE&ZcNgegDXt6*fGxid$db zUSH2xU-we_{{1&}aJ=}iN)ju$^ih(2AVP+9qlF14&Q%@e@E+fnJ3?`MO3T+}xO6F% zY0p&h8)XY0VGS=^JC{}iqEP0M19+t6Me~h704j!Pnn{5{_is&2^4w#x=XqA8^!O-QaE8M)$=Chb*u~u<{5^8T(cv3qFnaoW0_TiiL&hIC7x^1Zs$C%N^c-Xfu+&l~f6D5L{N3pT!LXx0SxV z89QZDphu3H+`<_;h?-g-z$>9sA(^+;0-DuV-I~>F%AaSiqo!t{z6jVjTEJIU(Hapz zC1ahe1boe`k+N#d-d$(7Y2sc3*xi}sBsg+re?fF)Vb)fNFd(`>)DFhz{e<%EE`mkn zAFLzS)q8Og$+E$UFE#bYXdDHM3> zI;u)M39Nvkt5HSRh3%iR(A$Vn!TMmjpzn#*C32HOQEl?ibg@JD!g(?;G zewLahsV?&nYi%_&kbJD-kkhbs6GBi1c0?UwFmX9M8%1toXJKIps%bmRKhT_aPZ}TQ z*J>uv-9Es`bz}!g5J3WS+z@O0P~>#5{vva<@SS#rbKI-G&78F+ax};}s&V|MwRaDh z3>#g484_$pU2YH67}TR{1ZmN-gg*V4=i>vBXynr3QJ}nh#IR5AP z8NO&~MVSq3hT@2$vtWF(7|F>QoTxn|4)ZX zUIDHx<3z%14JdTVu+~gd2-EgGpRbr3)=55NHPq|SQw&))`{~!%heFQ6${5jB3ap^& z7|D+K_tB1r-_BZ!#K8%gz|O8-9^<6#!!ll8;iALc{jJ83Q@qI!y?E)dBG$5kD-m75 zc=w9Q$U)$jJ>z-8=)vQPn@xpWj6>W;@bA=G$1ef2!c1dzV|CaKZNV4~YJ?Hp#iT^- zmav6>6_mxHf!!$x2il_F#lIu@7ILhtDvfXL2U5BCgamyEfDsBGyGVbCG<#aGc2E;5 zhVptrnu|?0p|Zj@P~iN24#DiPWIWr1lXT3P9%}ty9FwJ-8UJR)uiO~Zr9 zkFr$!>d5kd-MLN$3(+nAZl9>>Z+EEByFmr(l~OITN1H7FxE$OOR3XD|BwDfx>lNf_ zC}Ok1#jVDbb;y+7i+<_L?Ul3@X>(5`nwkjy`>G^5L&m`Cm6tfq)fmZAfH;UiiKg(= zRv7J2{Lq!KZzcaGF5&~{P?*=B90SRnFUu-0=_3%hw1OEKRzK)>i`RGhXop1O0io6xRiB42;R>S6=+QSgMaveU9d(1T;`<|!aEZ2z;OD_n#4>)= zf(US&y<@gNTy1!Xqn-vTv0bTiV4IiMmKK!NQGxDgeU}RuE$e|Z1ujNhVeFuML*x3 zb|A4BE_l9wyznrcaBC5Sy)0O9n#vjO=W5iDA4ab2jU7T4lfw+DGjZa~pkidYo=q$& zYoJ%t%5X9M;emlbK3ga=u#d+0$PT}B2K%Cm9C698baVi39K+3+fAp29mJf-Yz~!bw7lr1+|o_dnhWEny%kO>C?Z7*SahA zB5qI6M-2L8=6@TsFYxciKZX@?esf#n#z|$-vt8skTc;L8lHw)N6rC+NDP+Zpq7K@l zWnDj8e^B1WjBX261c!()1lT)y3sFV5H6)`_3V!>7E%`W#D@QetwsxcF2}T3o4W%~NM> z1)YG^%J_2SWR+aSe(f&#x!<4Bb87T0{6H(0VGTtV_*mu?J`&SC-l3f85}~Z?e9g=U zL`{w)le3*)pmWtPw|}nH`1Uc&G*uhF#N@J2s&_Jz0P_nmh6j|Rfkm-+0aLKC#i2}L zNk`f55LDuHlNk^EYkdihL{4*Oy%TN%AL4U;cc#K+`Vch>W2O0LDV$wQaps8E9_~`Q z^OQL0I+Twop6RsPwa&PDVWUaIS_ZP(wKpI2@UUiZDGcVHl_I_CvymYVMrSZ8>|BY^ zr3gtGsqG>n<;W=d6^+Oou`RJ{dZ3JOS0{J(jIh$wo)WtGU1pT5Z5Qm?$1lFHh z>;vXko2{@sQAkGCE&D$N;58`2&e?voG}2r89$3PQ=j5r(ut-Qss0)OB9nn~b4UB4% z5Zyw;vvbtIcXaH)d8YT2fYOoJmE+2DkpuA5TT=dy)D9@{22oAG<99_-OdIgQHk1JB z4Z2}uj3{E(I%L?oXk+YtPtUNc_ z%o3=7wo_-aqy7hP$=tYYYU#7kATKUZpkt~ftGELTz7G3ghKy{cuW#n&X4c)!?MDzS z_9pbNulQr)=>bVn~T?9Vpmc?x`-@<3>X8p*P2ZC!bcPYn(yz!ez&gj&&s#NMe!yH)b2_ax3w? z%5nJ=WyW=FT6sMb-GaDZ9`0@HMR853u%ZXMv6=80DhX?MDpatRYKcHR@jzZg;Tup! zwPk+_5{j5<4bSvB^vlJ*E#X5iSvxF^TuMqwBurMHNDG4)0Zi+Bu0O`a1L>;{WEL1_ zynfuaa=f&?6FQSQlf4rgP}{YAkxYyZ057rvqX0sGD};%sc_ zkOP+0bEBl~YPI^;g|VU;E;QE+!=q|3keBtMH1&Z?b>rRK&?HXdFtzSsq87h&y|@zs zFnfzPRfl|SZ;a7RubG=Kmub(I4h<0bH9W?In)cWhWb3DQb4zfA)iqocQ`{k36x(Xg|42x)Yy8K3$Bvyz$wY6}(?H zWf;SAY0Q`SZaD7v#Ek5kNh{a(AMK3X2v69}gW=|esTcg2x_?^&TCxN9i=|DzrjK!~ zOZ5lZVk!g28vA9)>p>ENq^}Z|2%G=BlL8)uX&jE@m*V*`XmKYoHU644DLONh8`?G* z3Nl8+C&$7a?jS~E<1L``L6ZzDA-1_6&AF&F;`_8o)+0R4=;~`OAG^+&l9o@A;B+2) zmJ4(V2AQyALVPo)0pO(h$mdV*_!~gly`OWhSt!8SJj9cc!5I!(#*QYQ%dCWC)@uiD zO{{bKuMz?56_Y7~n8Z8kt*|d}FHPMeF6cwjrx0@m!9>T^7Hzc!8ca1nkrN&u!uVWm4Dxzh!LXx9Ct?c`L&rHguN zW_FAle=DnSQ#Ow%W8i3Wgg^Gnz@3{RoQ>0;bx6ou?f2?l}vy~a&KXb1YKkq>2#jQ?o zZjqWex}$?%34nJ#ay$2deXFcKeU|IjU>4Yl_)fVt-G1JklVC``w^Qrhrc0NRpwFZ* z4I&iPq$9x?4Ro_}C)oE6Ys4#aN_k0M9o~;Xv&avVPl#j9wjY+y@=#S_cg^xzwsptl zZj%GK-Dg%sK9B5^@=1uotwH14AA1DU4%BuSj+rAZHLrIcYBcj!?_G+ntq^E<)C4TA zgU%C1mDHypO+$pSFD-cQOa=hMQ-5of?_Ab=;aA63MeLqveYQ;FkXQ8I*dGmv>T0zq z)-Y)qPd$C7*HuMge&+N2p&EnvV|}f;wp9o3u);Te1jV-gNiEi2QOw9_vG^QqpdT&g zg(|TRTY85lW>MP|F9vD&YFR3O?wG{jhE~l3mDUMw;YzfBKKEsqLCMK*F-q}e>+K~<0<%jke7N4=|K$QAwZrq9vGjb zZrCq6xmh$w4vYa9=_NmaLR6DD{gn{b3{YkcgWM?OtHQ88aowo+X$&&zR3eGifX9%) zavFMV>)ZDU6;k>2OX#PBaUmEzB!MZwlfx6qX`)(9F*fXpsc`O!@{glmXb?KuZl~ezx%N3mFVB@ISOIV2d?QPPFV?QjShX=wtjkRAmE65b z{3|a|Ej=Tp+<8Cj@>^<_+tB-?(KEjU-P5z)1*g~?(0Lgb)p?rO62zZK?W`DfHPPU) z2wlcw0P-8Ud%pKenHg*&gi}S~njgIoK1=O%i61lF*j>UC!GK}$HzQFA8kHRwGcQ3s zYO*D>XYxKKyY23$3MMf>Y8*`3ZT?7oQ>FMKQ+O#u85EupDfdT(||IqcoY2W5u z>76+-PL=Ww0J}TUyXS$yzV9O`0a71#q3f-q12yIL?@2y7_rqAdp26l4Fhu_V8NN`XXElbP8%asJ&m)aQ^U?@R=LHIiXNS%H|->yv9-4G(xQ( zM6g;DGAi6aFPRYJ&!M%RQ&&76!ltQtz0{r6wkXIYgc}~)Mi74^cL*|rrrEd#W~G&1 zBUm3~dKbU%t39`P2I1GEVQ!7oSWxB?qEQ;fl+o#8DUwxPECcshlHAvf0fP2cn2pLxhx;~OIWLOU*!;t>n4Zea%mlQOx=I{| zPFI*HsD}?|7ac_-lKi6(`$aw7R4Zc`%B$9b`T*)!{K^Q)4C+`&uTp+I^-{02!B_A5 zc9K;QiCbDS1a0e>xxbd?jYiEKnPz$Itr#O?d`NUbHDxYHt5C`E%^a0S5? zL`e6!ZB-Sr(Kf+bfxqZ=ismxsxZvYD<{nI~My+Z}SJ+?Dw<`E_{p3DiY80T&wl~+7 zzAiSGqW>EQz-xk1}1bgo;S5BQ4C}$S~I2 z@`x$!Jj?C5gvxBp1}zW89J~Htm&X1U;$4`}yIA0$61XCl!nxMnJq%+06^fEEamCul zK)5p;kD05~eXnvHOr1RUMCZZ^02Tkio{$>~`;YX+)9OIyCtIe15_x0`<6!mRR_ys? z?g2H*!uTx|3IXye)K$e$FRSRElcF&Yt38NA1|&%C1qq)_doCTFr-c(FJpm#q5&k@ax1NrZ4=$!2^Az0B5d&l508Ev@4W!kU#aOzM) zQG^t}wcwwItQRCYMTZ-h{|^9fK#;${6r?_v@fy&ca@?Bw;&?kI)}5>fVu=jR=T>M4 zhNHIjr1ndpJ+1vpX`ofjuu~uEaLgg$1pC4jfm~pK(la=5iBMT^8?eCNfNF^roivQ{ zTo~m5qZ|)P66Jx~RJ5}>7!UUPx0~8?(Ed>4Ae(H46%bDK=8uW3{g&LywdX0BD-W@J zvaru7?Nb|%bV_h4aP5!4-GDWeOV&`HK}|lDBQ2+=&D8!h*p`sSt1+}~Fgh#eS?yN6j)d99t0ZC zu6knIfVTyaw=Nu>PzDnm(8)V^z>M6#y4!K%rrJM+_MY~>bMlN=codiS@7uF}1Q&oT zXy5}u7Lmnx9i8k8 zfr5UbPex2~{5IU%f-tT6RH0APrvqK~rIPZbYEZMon~R(z?9>dQABZZe*%M4O!WIoc zw}fCjH>5oaH+0xSv!xhp|6rld*5|;u!9Eu6hjGO7`}{FC^?5m$TpEIXv;A1!tIyR- zgkFkc=25eTNehHthDjW~;jnR_SG_{$hv*AYx(G>?VOUMx?J4?q=!=DZsD2pwFF^+~ ztE{$ozn4^@>lLsEZr`4kOLF^HDSgAUZ)<@jN_2??VL2h5I=+2{LdP=4Z-9cGONhGG@5u|W%j&!$C z=s^;9=q~MesCUA^fn(?v(S6c%HTMwMWkHc z0zz!su8{2ngH{fk?52I7m*~I`W2l$74oP@Nqo!(ID-_UA5_%jLyEmMuaqrAvI`F}i zjyLk~#31dEQ?emf-N%yKh2D=INCK}CH^jQa-C>l^wRi}Ge;s~yoBFBHcwSW)!nAmi zF!j@2zj`M>>k^Qye@#C_khSz>Q$NeS&gT?sN+q+(ovEK;>*wm{oBDacd);!`WrTi# z{tdjKi#LXVMv6DAK<&-eFVw$f>KA3Z@k)xYbH1xL~SI_kyq5>6+ZYl5Dgfn-e&~L&;J_aStw>py;i>+rb_<_B{jpkg$~Q#TyRpY z*6$Sh&a5K_><}j3E%bY`l0o#w+dTR%q3_O0?gK3ZlkXM!Uj06xXO)~tMAD%Q2KC?p z?7@SST=?aC@a0lmBnl1%V)j#^|4e^anT4`%+)pkpe1-$GDgDpjTlO0S+(CD&b7(}$ z5|0c02`K=C6aL=5WWP-hBkQ^T3urg($R{1g^r!V-n>y%D6Y_wz)`KPmY*2q@-}gk) zQqgbF3mF};mjVX_J!rJ+q_%nqw&rCE^~bsXJYtdSzDD&w3jGCKiIT&nJva3~0|!^G z-AjE~{jaziy@>l&pdbb>0XrS!Fz5Ow+xjc|tET?<93MQO9RoN1xF2rABq6R_>+k`g=luU;meC z)VVKLc%%p2pu^?xq0m2)=WXiFn{@o(`hQ?=b&TNX5xF4k3h#@iA`z~Go-jp?CuZmR z%A*MYC{c@{{HX!^f=^&uh*iGF;1Dqtyz2g+<7hZBr&=b`NJF9Y{~^AJkV`2YbOMoZ z9e5}?c9_QYKk|e(eZjFRUq(;Q)(AkE2IwcV_Fd48rh#Y!KkNazb2EmO5%JcGFokm17%XkA^h+|=xH)v-v#VVKZ){b^$s zh=Rt!dCJ9LH7e_7H8ti4eI~LXPeP6}EKGbrk5J%b_?Yo+mUg&(T9r#yb7MZN1E=d* z(j9c(Ym^xkrcqw_vU?67VH|?Oqc;J++Q@ETtlt#nwC5zWzh zyiw%%m$Za7p|=Gkt%Kx-Li9eOKs{*^GmWOfK8M-YRv%3)>hJCaAlGBj_p}j&`Z; zN_SUE0{gx0hvF(YWZxCWWS2{k~cyLuEEk6My#ldG< z_*v;St}?DMjjIc~t>LFIeqdaytfp-;NI~8ex&}OX3I`*VmT|ptgK7LQ_X?exEsPtD zn}DdQ0xfw&l?Gq~fSZMJi=$+;#vjC;|RBUgZ4Tmu9N>Guiaem7kX@`J*7$oQ!W z1(PxEOc`Ri!H)be3M0}bx)XhuLtUsEpnJ?N+JKDrQDHoWwid6v+*aogtgLIpmY+bD z`(!?7#Y}5zY7q1sd1jjy7LEZZsR#2B+NQ-Q-7myd5|Po6Hlc5mWFTV_=z1Uz zPUI;n(&^uX@sjZ}3PT~4sHk+Pb62#Ydes#q*{rCXCmOH<&~7yww6G3TZg=t#68min+!;F zIB~p95H3KQAv_17#4XhBqX1%tPk3f}W~sSvLI+FK9`mo%NsZF>%=XMRJ#(O?yd4EE z0?NfNJo7xo(!F6z2ovRr+y5xBm8|EUQXmQEx)=9gC>Cj*Mq>z?1Jun+xre50FtB@j z%5g0H^3D_%$=nz8gq^^ZWAYR;ASUT#3eEMZA;%C?@(GU}diydkSP#fhD|74r4;p{N zNDo{_2oE>tI^}lcMlGYBO5r&YHCe+sjTjZ$-WQ5QlmHA}tr|vM9??_T+bwI3Dc-lOmVN3`o0?|ac%R#$3 zwJ8?v`akGB5b7Gh6tAe2sUFDtu%30ovmOK0c$A39Jzs(6IcP_i1LC&l1mWrMY?S_* z@p37lO4;dv8<(rZX)wZY46E{64<(v;-pD7i+jEa2)4J?9$|aV^;`rZnde)SlnxhqF3-^8xr9wMJ>P~6 z->uRfbuJ-=y8O}37{&ugpKIYTT!zE&os2&OR8c5?iB8+J%5%B!e9yB(Nvv*EIrQ=z zp=$+p0-#(eJm2?R1q2pT2XK@u-T(MfO{y;JR@Zp0H9bF|WXYFC@bR_Sfrb0dbvM#Gal3~j*BK%s6`!M)`_Hh)@Ba2d(uVu*2zN1Iqnjk+v#%dxktur0|BiAr)Za;HJ**!vj>*x+$i^e zDoAbaxgWmfA}e@M&`&%Mp>d(Q0B=G|h2uYo;aUO-XNQu3-M-XTC!^d()n=x4`7}r? z?1IPcJT5$s;)b9M2U!_U3C|-a7>z}lr5R&zw_r>n+~N-(ZbKNxox$|{YVhURY_pgO z7LnbU?Rnbs3@-g=3t8%NM5Zr=68HR8%6_u3vShdy@44yYG1LZzFGr6ep@M9>F~}=N zdZbbC*hG%zY6R_c(Db}8k}=7yVtfARc}C&2Ium1kGzbpSnslIRl=EH`^cu!`X<+`!YC}p{$$vtnv1|oNPr4^O|>`<5Kd3*SH z4626;J?NtCdCT(-PWihs^5T9S>LS@saHZN5Nuu4rb__p|? zFlv2lGdDqOFUo}B@zvEW?d@HfNN^MV0s)UL<&oHC)AYKYe~uI*qtM1}(>6z8=+HPf z#{jS1z)jFW+3`MZ7Qy!@8w*Sn`UT`Pc+xMm==q=HNVa}2vuB8`11bw#AOQ$|2Lk61A4Rs#Hy0@iW z(sO!)9{u51Nb-W}SR5UM_HCG1ZyDE{^M$zp?GAc<)#@rtC>Lf0CX8uqtHMwfRW0i} z+`NUtT!eYXnyNN`3#J?@%)>BcY*uNRsm>nTU>V}RtQKNTVFtRtZ*Lfj{4N*rILYU7 z(+(VFuTpfC3?{Y&K+Tzy;Tzc?U}2g^3G-<47!(CCQg}q&M%IgE{n5Ef6KtJkwJ@v9 z8cLQGwoHypXR_%oPa`TK+wtRMgc|@o4dEJSj%r0->onc8Et+Y)L70tZ6NYIDM&*s- zrmR3~i$}P1r;%Nc8pxvktpzHd36no#FbYe3jsZblkT%-{tux!5D6{$OJRRiB1ohEg z;8QIwg~hoJ*uVl`Bn^|B8wxATDv6uNW01lE$Ry*b&;r*Ygop0FK2WB)*+I!6h01pa zBZ*7}6Rs)aZ#)=mA*_zY?LopmZze=2@@`v$J}X zx@(?;wwA2)z8Hvccw^N(4|gBfg+L*u$8+IM{nHB}IU8n2l*WUcnLO56v5Z`<@uXUGd1` z0su#358~!cd4nsrMQ+}VdrMX_rsCM#D$Ltt4Eu1RUeX3PZ>MBR&OD%G)ThFTV3j+B zc_&tZy-EsAPK1$A7iQii%)2pjLO3BU=S_W~XsD~HyBjTo+#JXo*cfETy1Ti#I}bn1 zKzR2Gb1%Xhl>-lR?ic0*m;+mtR2UrE<|Zhlld?fcooAEV;hzcfVWg!|X^(6SK*G&O z@-TDmrDK)Hg!#A(aOkqAdiMoL+Rh)}kX??*x|_Y0vPr&VzCX;^84Vaw|mxSoG4 z%xC0*og1jK&EL$;-{g%52CU--4At-Q`X>+R%6em)5}Ef3tl8qZU{8CxA|K+ zpO{BjF*zJ)KHz*ZwCn3y;NyHMKK0B++Ixv!WD%uoP+zl8EuM&I(DS=U| zZm4O+V6e&?i*pdW`5Yx7%|Tph1z(AFv(X?gVysn1a6uRW!B-)SNx3jOfZSV~@O2d- z+Jheny!PS-J?Ak83!J-V!H>h!2_ebC0S!x#w+h}SPb(8y`!i;&7JLm~t6pG|;nixH zpmz^nFZc%eR*{6mnX#SYg>kw0CT4dCz7aK?v59>D73k|G!8`FNRJz+n!zZOe0f|jW z@NVwdEVGVCi?ZD{wphu0V>c+tJS&1Ok&X7`T)K}}A zTl#`og=TUNOJ}007tF0~@{Progido0|cmnA!`G0WIwb~0(+g8E1 z@$Kl)8;nF`8~F;jibg53ltU^%Ss3+313rCK=u35cUkpD@@J0h~^+ZG4T*uu}Y0*oa zR07#3BbPK4kHn#=;6cf3ewN^8^K;~3o3s|oL+TN_kD-4WKTmj`Ft*~;1%iJg>quRR zp(ej@1oNW$;>^o8>3CdD7Ylv~Do#bPUv#wiTm5agrfU54{x(=kH}gvczl?teFEe(= zT0-)k;eMM9*W-9!F8J4tt=Qxa!LP{S0;)C4`o7>-F<)o^}ycGFH2G=wpLFm@FV z30G4BY=NTXLgEUHK0OxFX*730{?9z~R-62OPCWX zn+l7xB9z<~3PmxPMglLY$!K-_=loHVKaz7zxjGnu%E7oGXYt4KZ#cV|m00x&!Jouk z0G+##{|BNfx;W;6gk8sfsmxZgonHz5YfM0QgsRRY2&4_c?cv^3ukswi-E~5thS2gU zSy4_mFo+!Vq$b?mjp9r!9*@ViA;~^3_#e={a~$q0IWH0A`~@^H!uqLh^OgEA%BpW8 z=YNJ>eWS0brN-alTagvdtj6D3?bYVF6D;w;QVEv zbi7%o6a~*BuQrQTb5nv8p2Q9nGe(Iw=Ayi!(; zQeq~EnI_-xWJ*t3c?6mOBtz~xoKj#!SIM&qZ4&=X@XsA>xEe21c5!^i*pxtHtG}fU zX3y8+Z?3PZ#)x}uO)#w%1Gc=;S1c_U3!D%?3w$!{*8-m+r4rxjs`_?+tFQRz1@gZV zXvxxrWmv%f$M(h1vXUKy?U3Q;yjfM~%EWBp7Dv0hLej;|hNZvXm|^t5n)c@UKs81e z#K3zhVwF>W`Oyvpd{8i!AMLe-HQKaBxi1zdh@-H^SYvUTGB0nMR2(QY@d$3bu!^h+ z$}tdM0)UJpuuA1k64qpEic}C(v`(W~&K_h<6V`O;&+Duq$dlM2ok(OcxJ@SZ&rpLo zQ@)oP_dj>_S_i|D-soFX=Wp>VtK;&cQ3nAr8y)bRsB6|-fWHv{6w6S}?TvB}p>`>h zZObW(R`mToaLt?(m{u8R0$DkcNN95~QWf8v!ak%|3b!g?xw+T9@m{U3Q+fApQupb6 zvA8cJ?^jw2@D&edT8o6W*g8~3Ig;*4I8W7uPWQQm?;&gJ3Hi`AhDV~At9tXebp)*5 zd0DN=uv+p;I5e_USe3}6y=W~7z!tK-sT=HkK&pj%IM$z%9H=;)7PriP&_Hu)?@knjrDx8-yVZZ>gKT?lmW~ z%YCnh*`08FVy4s=?n|ZP6QJVmqp=#t=pb5waF#N`3Sm(r(3B$!&?82*A-1{2%5z`77g@*+yM|L+p&mq1q@b53wC zWVOq8h{=~TCQR#+!Evs$yOGK&Y+DywmtsdQlZy5TeFcUZK`#qf-xb#7cmd6HE}+4( zcCiFNiKJ||HXQ9Ttt$oxde6plTTXG?+F@O)%pGgj%j?GS0BG>otuMhhk&lvheu5FV zq&y(Nc!+WVwuCmPo#7qdUuEJSv6oFw`AVCHtRD*NTI)IhFP*lsZYC_>4+BPa|3QjT zh6w9Nf*fVtth`hMwsouZW7E2A@T;HmDhum&T-qiKKsXwV;EKCLSa;%z8yjd`-BDfd zuWE7ZVA#rC!nzv`ToYsmoV&?xH?a1Auy)DX{>GY|+FpIRwMSU@8jc~_kMvO86H?sm zK4IOT*JxUGw;mMMLwPVWnLiWO!|EL!>6-G!66QT3tVd;DreZqpabZ1?*J6vmp-E*v zC9GfMwV26#T3El5EGbj-xb{F>ZB>0e25;QQY~eUOD~u1V-wb*+PUiMT-oRoo0qZ$o z{SG&Paqb3?Zr*D>Z~f7<{xH-9nLKF1dcpdWS|!yWGpe_)9Gn+DJ?kb3NR9H%N|mRsn@n;m3B=R=_@lb z45V$n!EZCIH*;@j7c2`~8EwF!`iC&ix89L&^WH}%Q09K#`lqno!vT}}HooJ*9W})E zU+84Uu-J#f`pEjXvc%>T!>;UeyyOjf>tkVFZT%MsqrmBCp(9w_jiXzKyakj`M|e#E znsj4~4ucQgF2egHAkbuY2K^4>P=C>I9`=Rc9ffb$vvs_m_fvQ>cH_r=c(?$JsP!KS+Gx?K0IZQ74|qRil%XSBmpuR!Z5br$JzK1 zgIWL>eS>PHsDIE<4po?~?t9o%1v$pL*|w(x548^frElmO7?nzX9WWeNjJPkIag#l3 zg8ke^^{WqlYzy|6Zwq%Nd$(4)H>$$xWgUvW|?M9mcLfS5^bNb2hi}h{854<$p*NKvD7(ehb^$K~Q zh*kk7%mv%the3$3z{!0mmJE&rGtBiD5KHVe!d{CPoGdrWO~Om>wATxJgL_}kai_8E z)@gsmgpTkvTsGs0*iq}(c=y>A zY3x2>-C*5l8Q0rDCkgb1v|3?{?PzXlZR2(d)-KBQ4h++VX_+`^sbdMRz14cvv`@~x zUZ38IoFevDg?%bUD?npDs*2qHn$+6x)x>tc{dHlVVV|j{qE;T{p)2H2cVi`Y!A_hl z>`C@yo9?o0Zl4DLfo_p!T!8PJLi80Z;3L@4ZwmWD=?DsX6n64k7)={RF*jhk4eEhM zjkQgy>`R4xnf)E-<;-&Zt4SS(F=VEd+n1ws7EOfW&YMFKDqyig*jLzBI`=o6VUj@@ zhL@@{_uH+P?W|fzh84sF(zXg~=OIuZaM{P@0gP+^z(o|yFAjvNr*}*j^so_MAGgi-X z^!KoTC+y#&N;Nta&Gs4qk>CDXjf#;EG5`f5D0^f$KoTd>lf1izP~O~wff4$KhO z7fw6MI_?{IZP_!&m)!2eCGPyt6TlT<#0N7LWEYjn!6ld%p(BTx;ms^u%N>eoYh4(d zTt|f$cOzhvMo1l@AC|8Yjf9jcP3v?(Ih?@mAk8EB;O!DLjH8)N#oLPI9kh(pyqte} zGh(x}{eDhd1K{9WLNchCZNF!KfIQ&CVd7q`Htl~8f3Ug8wm-5zMmV4b_=dH%;4400 zKmJtMpV^<|j7rm5$)Jrk2N(B53vuz19GkQ1i^E@R`wOxjZ}(4yX--8EHl*Tp^0>To zXC>r)J(VV-5yLY3a$`zKW8u(sUoKcL0vxkF9RyDLHskHDA!7TCC>{}yq#g0KaAK|e zTn|hExreh}SGbN~MTu%<%91I{7C1t$=`ZO9VtU69fAL58b4Yw_?>O%SATRGkO1Axv z#=I|!uj@94#$@kS;3(bw(y5V>75`&QuYmNK@=g=p=@?9pyY7;vcZM5gHNA) z(WCtSXeT~L28Cl#Z>7+CWE7W!b2EmB)o44`^k$4=E6__2d(#k#rnq;Z3`z}~_U2Sr z;s=si$h%m05A`0Fe(zP5g>l1B){eYDA%#vX_Z2h+HcIc|!h3{_fTG^FDqqG9a*=nb z@K$=4Ibj)LyTCVisBo19f%Zangrkp zGkYXsL&>rKThx)PDaQ3z_a#W7;8M1XW!_HV?UKZq=3piCNBML-OB<10<`97*&tK_Cm$+ZDud$Z zR05=@Y);3RkUOsvg9*KkjvZmpl&l%p?AET3$6{$@4ZrZzwfZFGf|1U8=PHW#2I0L?zL`uaRqE|w^grGo3GdDF0#*bl z)zR(sq$GQ9Un+?Q+6bnwpX4fBG*Hudhl67&LETH{(F$ zap8SJ+83PzN=SN2cz=OOhB|tLl&6LFSD3=xV?#`QMtGlHV$iZI(shwc$`i z5x7Z?MofP%$T5JaJ>B~U#Pp9ckY1q|uBEMo7L@&y@c!985U<%Zt!c!BzY6b*GQnTf z+J*@)3Gd68Fa{Gk8k<_$>N?!KzYFiHnY`Af_N=_uh4&52Gh`J^c}sZT#uPgj$UDOO zE+&sv$+?;D3Ge%ZGS~Q3<_E(2VHQ9)`QO6(AK8Uge|;?`{8xBCk*G)vG37Ji{an_} z!C4R?sBBFo=Vod`=z}tyHibtBGYg=bYzbjwGHY+fpYU&##LUefBg9xafS8cmJ275} zqD)=}E;b@vtdz}vY!>mABbC4g6^H_>mqGBQU$S2*B`EnN2KW z5Dz?A#B{#7^KCibw)5?k-;4+{N`8+fV*tun`8*E(#^?Pm%KAM4{wC)Ao|N@_GW<=+ z`aKo?rse&fp7;BJtlu->@4&3z2f?2YdWp}oB;LT|p||*ZP9C0fvwqKmzhY97{#^=x z^YeZ$$opMJ%H?x~{I}vR& z3+NCMCpt+2xD-s?Hb8tk41Yfi_q8yDH^4C6NY=<2h}7D2livjb!A5IJcae3a^d7RI zbT2u6-7eB`580S`+?09j!cyI(+C8MF)Vhb9h(9Cv5zSy!4rD|~A7FF};C3cpaxP5P z`7n^*h5@_`2J1U8JXgbDTmxA2Nz8=81AZ-(IGzMOQaGLoP?3y_O9x0|{I&tof4~kR zK^EvJ?kN3g416uN4T?#V@V|gx&<@xuJ z3o?)2%sgI{8SINQkKfKbUY2?MZszfOna3+KkKfNcUY&XTLFxGG2FMThk{_*uiN9rl z{J3=dT{7VwOxOhpd&%x~Fr@d6e_$7Rs2&FR;VZ}__JY(yycawh%kauq)R_XZn2FSkv#z$9>qSEmn-$Onrh1^ecsCws4^4S$+LTM4DImx91 zRC|p48p)!Fngi6@OU1gKbo4GdZmB+1-${!G=+rg%Fk^ro3=i4>od;ig>HKxOXxRWQ zUsF0&AE1knz9p=MrF-dN>x$^%yXcXSvb2aEH9(IUptVJG6?_iR`aHav2Wayi3fq1W zUB8EZg^@?eF$$kefX{B)1^@4%phhUTTL3N~C;|4urvwmFkoVBIM%F;9TQhj{r|~#t zI6QXKQ;X>71N4j?a+J=?MUq~ygKWq_^+Jj2L-boXOplU9Q0I~Xdg)E%(4~gc@^_)- zsm1{PUV-MI_*FQi+FkU59JtpwaIame%ekH~Rey|(f#TPz;^eiR^oAW|Qt58`qbp>_ z?GBt9B%G~#=pB>{(19gJ&hPt{cyfL}xWvRkR+#<_#}sq5J@n_83xo8CJGNWhH2LeX z0s5rs4@{2AS2b@WZ4-?vNz+90O0vosfnNgLi7*1cDx%LqrHP)*qbVPMJE)N&`a1<4 zd$p53zmvXTM6Q(`{R<}PchTod=MT^qOLx&%6h*(5H&<`$AV1kl--h3h5BzX#}NORbz`w$yfiN_-i`8M6=zrYS72khgTI7nd|MmWYYsYI2b39kZ}^0{g+d z&XBNCrA2Hkd`-0X#NrrJ}zyV>}gh`n^w)KLR$(oQyg2f>O5 zLPbc1Cm%u@V6%1r85glR@XJNCh|NQspi>gI1>dX$NS-a&!$7}Q51=5zcw9Wdj@Y<_ z!^(&MdzM%e`9$kFQk$N3b|iLy%MMiHoLKU4d3t(v*kO0Gqf7U)YT!1^KY`WmVRZ&s zgOGkmj+LvFH9|@C)a*Pd=q(xOZ5imR)6i9&wMa&6eGxl;fOT9!rj@!&VK3{%Mnk20 zShq%YvJ(px>BS;3w@BZPoXiAfrc|cn0Box^z_#ZW`YIMW&4uu_+{`mD^DH;>?A*-r zF!KU8^BcLD7h&ebZssMqnU`Vaciqg(b2G2N%&2&Ho#tAVo$WMCI>6Jej7`_GtnNW-_din^R6$PKs?cFsSRC%`!V+LMq$BqiQe`fr;xwe?gCI$U zsU0m@uU0jnRm-W-YIV8Pzbm;}wrU*|sV^PS8g^>UFb}KcWNPbhtafV0-$+hS zr8`~jq=m9Mnzq?#Je)Q=+CKiimc>tY-EqxsRclv zqKF9Dxh(Uwq04;RE%WuE%Utc2IWx15YiC~#$^wwf+1h}1-cIeCR}&Bqv~Qux@(FAM zwF>)hL)klt!R}^z*#mTk{ull4`s-{mf8RRAI*snIc36*CkHh!N_85CS-Jui=kPO}c zN&iJqbY24e@?}ssUIESXRnQJ!1HJEcQVaRVkvGX#$XjGHc^g!kcgU&aU2-0I4_L_i zRzS*nv4sX^YMCi#$BRHHT>M+Kci$I|I^Je^4=&@wua9!e+C z!y$D!q}I?GbQL|2w$g)uPt2n0>1-OLbLfe5F5N;)Xq?WcUxixd(QLU*TKlGXAgmt_Xm1Bdx@UFUZ$PwE!xH2r9GNS!`gVd zMVm$=+JQ8t&8H`6i$SVAoTjvubgQ<8Zqqi?e(h#@iuN;ls&3KK^$GM0{Q!EV?xWw( z=g8udrhN7AxiNvoih>E4LV{uzYNxRmm1x zwd_!p2N0!FJRlf-(vmV zOW7&jtJqgjC#S2)EY!dqWq-H*s&*MU9Q5-S?FY2)z!RgIeWmtYc+%*3WS4fi_C2Dr zpO9m;9oiM}^bk2%yHfi;F*K83PL^s{5nWr!*JxLR+HYuU_)6^>c=BkQ`Qh3R;K|gR z$Pct@wd)Aizd|n6t|!ZhrEei;X+MNEZ2e-=q1^yaUj0harriiNg#IQ#x>5s{YRo2+ zwI4w)HyS<7uqFsRt?{hXZhqIh6yIZ@5jImB9Q)Q0?NW3$FJKh6NPo~q}antMx zZkoM?Bw=&e4Nq~>tL@P?L3?My*d9ZceM+7+$?i|dtn}xB#-vG~lG9Bp{!3a8J>Uzn zfEXqL&bHh6pMDE|(H*n@OT3?wa+6*=<#X~3rF0UMJ&laYEqg6wn6O0XnJNW(zr|#e zzaSpM2bUydjOSA_AAbLr@Xtty(oaa^tXT)lJ^=q6Ja68-$&)`Nx6?1kcrtcyb!VrWRv&uLNjV}|E5a+RsAGPM&vCe|n92Nq%MX12+( zFI@=VI((1Om(Sm=?FA{p)2J;!;5JBxbx&;Vr`h%`b~;o(lbGx*VzaY}mz_&SvGb)F zs#JkV+qcGO4@>(NBcrsROZ%3WFqqm$03KSpCJ^YUO*HHVJ(I$x_EQEW9@QRmP-}MV zg%eBfX0JR38!HHXN)CnJcccw(qtUR&E&`;!MaHsAvJ89^9b_EC+E~E-CHAs{PR{~- zF{0fQh3ydyD1d8^tDoAFjUZa;Wsj02WdqtT9wik@I{LMejzGlMo|VG>!p_e=GgNb`b6Nu@M>90uk7kS_NEmix0T_ZKWz3~4W7+DkI+WlWm@X@AGG*JRr3 zOLfq3$DkB})*=h7Rq%jvVD^ZthMp64IhoA9N9M8}q?BDp8rToXI(7p&f!#=g>?X2> z-Aq#KR`PXr8##yln4Hh_IuQhpItK zPxBMno6;INne3Fj3$5SRYj0_911_cH8foOz_YyOPgdeMMBWet=)0HpXYp3WF>rD>b}90>bS zGLAh?4rEV~D)tM~!hT6sv!_WX{Eo0^vW&UC&L~uoS^7be*jvarkROOc;?s%t1+sVy zvu^5MLgs%#IIdbGPKxiPb$b3&=r;mvll|3axm{Z9bV;8pyCmgLeGJH-(5+(GRV91E z&-ozv>g8^?o>YVMkKOtr?4T|?I0>hYJx8Xo-;rbBJHVbNt?Uo7LzAQ#xy|X&G%{CT zqQi!zAK@$}m2xCJVaLYd+8vwKu?i@0e4$il++s1x=TN+O_)c*iH-vwHFkNDUJWET5()=D1 z@hPIu_H54vXntqr&b@oH1fRd}_n+?vHg{(3)H5?@PMdRu_RkR_(77BDCFnd)hM*Kz z(epOJI80nv0VVjju)K&pQK%|~c$W2wvIy;7RzrTk1-4{XZ!Js1>}ff()B5xO>B_%n zUv=vyunM>&c2$6^q9j5i>X!N!bCVlOX!~$?<|thefZcE~JrIDspjhb*rzm|8P(=u+ zesDIXEmQ{i*5U=;mbgHyJC4&P(~Ak;NX5`e5WotY0xjqz(3XQ!90`;oaLpmL2&d8L zrPzr8rvw!@6*plZGZ29QyV{#BPd>pFxrbhX=Qv$ax`(bTk5$vF%F-$9 z)%hVGEQnGiq9*9oalSlnC@)m+tp86Xq!lq-dutI|>!NI*8{8!bwm#6ugULx;-KPvi z+G!Z>$y1Tu8Ub0#NXS!45k8}EY^6w=kAXhQIAkTp!vJLhoTN;Ip%^|D!==h30jJ?k zZ|QA9t;|E~1)KsM}2wM0haPR^D$L1T}xnc zUC|pgx>}>0fk7&{9x)X4zd=yayMj0b1rdsarJlyc#t+4*LdFL=e>_Y|ee%7wd+3(( zd{3lL@5arapxc|((0i)s19*P65E-yU6@9ph?yjPVDq8Eje!LU``ec%3a**0-xI?ER zmYD`2WjZdfGohby7EDrR`A+?*-a?v6pB1!E2toB6t&=KTq-lek#h_adm66Y(&KVC< z6qN5+vPkK#6bnHV-CqF{8)#Al+8QGES2cZ+Cno}bX3&?MEmlKceiBZ96xQI#$~=J- zeFOJlfu|o!z_KJn-r@*7Mdv|tE1;#L7}dpI!$rp<^Em)XK(@an*$EkdS=hPjYU$eq zDxkb!VUcm@as7M8*T2<|!gZCdx%tQ`}_obui-#GOdSaCNFAK)^=BjW z;bEng9^^#&%Cbu6P$u4Tr48a|r=CwlJ@k+#E~YyX_MF@riWvDR_!JJ~lM;)BNChb- zBT1QusjtLY2IX8_iSuwXosWF!V%#hj;bvKaSa}(osa%eT>3=CDd1m zdR!%Uq*hYjXeErxw?yG-l1GX19yr`dSO$kZsp=1tl!Z$vP6vZ*YWO&Ys5iM$)%5rg zXP>B+8kB7flx@U$<&U zwNnb-U7j>&DUEx^EM*8`1fm_oN39x1Dz}hwAg6##?S>#L@Ef%t@DLRjaqdQdK11!{ z5IO=Gi>e~D0)kj^FA>`%1~3N3dx*J^TfWj$aB&UC^*jRd=tyW!OAw%=U<@4%$+A7$Om8%sAi79JWbgQE`3Q^)pgCRSYrLh`cuTMGmJJ(kj*X8{N6N;pkrJXJZo5?nJ)PNU({Oh9y9N_v zb3}5q@i|%s8ZyBlWOX|uOWTJo_u;Q1uX{zZdvazv8`!H7wN&=%08);8qqh|nB5GNA zets-oP^FGWA~8@2EFJ2r)p51zLFUL;|wl5%I2&ku4i4N#av%vXn|8PK?kZkZ+tK7Iak{txA_;jIrcwYohFBPx}5bE z9Ma8d)H7;SE*8pAxkxA%;|{=6PlFGAlik7_Sqt@S0%Bw>)N_PTg7B}w$)-kf2;(z5 zKbBDE-c&_Cn1_M+B9KtePi^88--Km*O=PPVs*5;3&#ysA)VLQb4&u94vAQK#+w5Wt zEaQOzh}Lp3FuhPsCs4@pL|9V_IU_!=R=tEkt$I0uBC`_Ci<*w0TD_vkh#GY;HEPtV zEAXWiwXnmvtJmKS!$mNnuHJAb^ylGK5z5oMI$_4s+w$=IJf0jC!HC9_ZC>4K0;_bw zTM{DfoBig4!ah#D&XYtXSClxm)Xre2U7(5D6(VYP$W?nlE43$dR0|=d_J$FN8%L@A zV6xgDHmL((yE+i=!E{6)@QQk}0OmqrX8x)N%va%Vu@Via6EnweD?Bb{PC<6&G4%#M z56BMeriFs=Z3PdiH*%dVbc9OvCa$xE7;IB-=Gs;m0n^kq>MdB?WEick#c8s{dd}nP zc>q|>B6L)IQsjOVaB-;rP;Yf+64_4!Pe>rI-~_H4;7(`WbUd8ojAB@I)A?lP%`9Z@ zI~nKSL@m@Sp*}(jjY{}WL@mVW{fN(agd0AZwdw|nv+5?$>26ZcO;WuiJ8IRccMxtg z6%>Igb?XkeF={6x%cG%$dQSx`jfSe!`?teF{(Nvd%;wKs+hIB{`G_>J3MWWnb*B30 zSqZh;iSCopJu!@_PdJD0)55$+6icYjN{g>OMUBA z2Eo3wE%oWE^!kW?M}1%qsV?V3asjrwN_}p%3$4}F>hncX9enTP}LETj>ta`QEh=*2F2=V z7^;qi5_LR`QzybqbrLL5C&P8>6!-_C#+MOay{(=Bht=uuUv&l?QD>4Ybr#9RW!n-L zY)5qt$ydjdp6XaKKpjnnsSC&)bs<@xUO*mJFC_m|7mE#$zy*%0%iRDNay9^l#6b{1 z{^|wwRj~om$>Zv4VguxnUFz#%0~C-g>KkGM6q8%jH^l}xiBR<|u>nqnpVb50+yF+y zXX@MB+yG|c)_O;M7q`L^*sZ>Yp&(obo7ML*WWzsTz50P#i6`mXFkbx-w@jF1L8kf< z9tLS-4$M*ys{D=$-$rvdXE_uP0tc6?1#%<7F<^xM>XAoJPkBo)cBlLQZjDq6-FrQ! zu#U@#`~L_S_#ct$$1ZY(&n4YChTAUIae;U$j?LwQ@%+3(97i^{`{x30p1D^27llXVSBK84KNGkAbJ2kq4TP>9bV7$2>^wTloixLc0sNBlgRD_YSmvw_9Glo zJa;!Vi%Fz$Y&*1#;iFcq=VVNdo4$2B6599>=}Gtq$%pzXqW{-$ZM+H1)VH9$`Zl8d zcc2fhqao@Ci26T*)6|2wb3R5s<5Rd$Jp`BHfRY5rWgg5fV+xicNI1`6l&Rt}R}N!L z^Aw3RlM8>D-X;@Bpsg$Yr9H4B#M4?nMEo3sHs2{QB0t0buhZS%@sIqsDHrolVvV9YDz=iiEZp^Q7@qLRZ`#-q&zQ;}ZBMer5LUjEz zZouE*BK0U-sr~^Q)Oy&;2yA1xtQm#fjKN-9RxdCE-enei&upUN@@U4=NNbi(+OZ7M zlUZZ{%OS&9luTgF$Z0H>%uv54^H@u=khLaDSsSvFwIdr@2eN~8BG0mX@&?8~WL=Up z4LK+mw?PhIIwv60$;+%O>xPTFki?bSDVHn{CaqX^M6D{6Ae!Z-uorf) z9>`_t@I9Q&dUESCvJ_^rUYMqkjnIb`ayt;g(DN=o;NxPNdu=tB)&?p>S$~gZ)d7!-Ts}2~ z6=O-~r1$`HafRdK$^gEf*g&qGcXlSLgiTQ>SLede%JR9h)tU z0LFsBT=vG*CycQ40e4ryRoDa^iteOYjB>!u^RS|(kd8> z@!Rl`U>j+IZNgnN7OP0GZ64Rdwu@Vnm{#dsq;M(Wc&Gg zwi374Rk*#bf$r=&JbA8%;p_$|VK?LUx&fhjZ8lSjaZQjqG+08}_svU|$Pes_3KFtnwH9O=}B5hRRR*9xN@pa&U@S#b`@Fo$)ZM4k= z7?&{TAXaYU!AaOPVE2OT0VGr(hL&s>v|&}aV;+HyEaAiAoxBy(NgBwsZ7^O90%yt5 zO(8>N53fM*@xs0G6RgUSg0n{iAMDH}OO(blSWO0d4ACeL?oEfv8uo;UCBfmGFOT6~ z-UIE}Ufjcv`+DZv!|W-smYX60zCxTYggwokk)63tYERnoQ;pjNaD$nX`2BqmMAB9S z;tg#Ih0K#Zjc41lc(y%7vd__nfz#FObvN zH087nIzjALilUtT6MORt_U2XW&1*hLH1&GYRQ5!Lh_q--ZNKisN;|ecMQO+0`X8i2 zorlc_$;w3MrMfP)Hor}2(5o#dyG;1!V`Xh0$g`n8uHsD281{-wh9Vw!XaPJPvRy`q ztmM3+o{w|+qD$r1A5L1hI*a`v0`FsJ!al(TehA|1Gw6ole(Ve1l=k;})nCdnROl^8 zSnjUF5G1VPotMr#SL@V)D^2pG(nR;pybPCklZpHg{3m-ET*nfcm_cs&bDL)o8+QYI zNeW3hd!;--7O!TnrDZzE|IGwDz;9FX3&TmXPY3aTjmzL$=+FM+TO!5Y$cjDcpqRZa zgyn?2lTeiG|X)PKZ)j@BGC-=)Ea6_z?eH?(46|SAy_nT_O0 zsYPupPp5`?SYvq_8W9NWpk0Ur>tg7nT?D1t5;$L53hT6GuwJ{wx7sSaAy-HYsKHvH zJ@KL0^%|)LqFkq353a4aA#h6zD&6Qflll`^edXp=v!83(Z_4pAxg4mr0-4#B&|F*P zLs3565G|F8z!vN%aXh}XV8;ZRPuL&qPuYRl*fGJ6HS9pW=s>kb8gKs^Z2wwp|9V_a zH=Ka0bK7sOQPF;YJHC@7nDgoy53nD5a+-MN}eXFzog(sUh~=|PC;HWcY07^tVg*?Kyht7pJ`Jrfq{S#Z6c z<1>A_!GpyOk^-S{jmG^yakO)((6>`;@qD3gSCP9Pq_ssFia`-{)7ok6aRDuaW?BcN zrkGelO}S=gzH^9>mDEwaV>pnVi+?+6(sltZlRI{hPte&*hPC|dd>c67g6)v!hP!Tu zbT`~%d&)Kt2u#oQ?eIa~=msed3h}1o6_8ce3X`~1>wO$<-H?J?^$Q!rty&)sUlhyn zaJk@y*zvT3zSP$-!|RygQX*Pkt;k#Mj{Y_3R^?nP*$~S;?%s$vSoF)l(l3V`{R-bI z_t`zkCNQM+6RTW8AqQLS?_F-W0$dMKvegQ4Ed+zCiE|gEICm2SaqH#QYQ=t8v>-I~ zmDq`^ps9W}G}l){2mRW{y+g^)GzGh1XF6bK2D1sWGb1Djg82^mjVH9@0D7aZ0Us{+ zMjMorEY_=?Ecf(Oj3c)Vm&Ov>P)BrvEIX2C^Wu(nktDcYk?bo}<4H{;izhXWTD+mA zQI9v&G#U{aVOyXnKJ=}S5m6)B76{_Q*y^lT-->ni?mrN4w}P$T2I=|+$kI1Lu6{eT z);B?C{Vv?cTVMp%G)3PA7wZmVb+$7GZ_JlU1vpQ0#+(H+rOGN7rfI{Z!eg>_icolT zh7zI1;=6c|P-AHb@vcIRrNb0xDb!eon3{Z0?0T3Brr6NcK5eZ~87W>e-w$m3U(Mj~ z)EV6QcW01|_hyjqGk#fPUg``^<&!r+%pG;-NX(*`9WjUAyop)#X01@qi>TWmnitXd zjN$xk!x=B%?1kPAB&e&tnUf%;<^(SC}z7IRP0?1uNHd+45>o*=9oj7=}39Ib^E*ij&D`zUY)wPs&q;4 z@H$61bq2DWD=nmxqrlO|;K`ep(8gtG+#!)<0Qh-58UMzUnrv=er%jPE+F*W$HdR>V zbK>m|i10_+E8E12X^trSLeO;Hx0St^&Lv3N4AGBSNhOUoW2eWGh}&DZ zx6UaNcDhJkaKt^;4G(kGX>d}0oRbpxvJZdGse`C^^2-rtIDMZd`kq$-c~OSRT#TH7 z$@4`r1{Mk@D%u62!`_6>NAdvl522fW5Q_DG!O8k3FibxL6ZOMzy8bzwq5m5e=wHD_ z`q!{j{}!&+zk|E=@1auv399t}!XEuM*smXf1Nt%eO#c&pH*ii2LIQ?D(hQYk8;nE^ zle9EKq=OMo-smBoV25;aCzo`RlgmFxv`EMRt6+%`Bv9A`^MzVRg#$2Bc~+=;9D$d9 z6o%#G*e(BrDO|ZBv>aJNJgP0$BulUL!ML!w;k012wxo#iK$W&s5QUYHj^v=A5-$-6 z$jfIIsRaq`vLfzUEryU=A(2D2uZp{pCFgzP*{|}lBRwhXHXXAJZM72- zW*OSG4Xcu6ulLGgr{*-8YyusB-q@I(B4;OgTKtWWVKPX4*GJH zgphi4@s-%gI?$()b+b5U`!Wo}iPJ49|zxDqCu55MP?3sm{ zugDt>i)3hTxvu=&(%fO$slE~i{9t&e(K&kGpXI|wvwZB!;u#=emRPO!iJ&|_t$@kC z{D-~#Jn>0doY21TbuyXp>*F(io6J}Vvl07$U#tDdvH#R~4Lj_xd}B`37U%K)MoT=K zuN@rsPker>c_35!<-FcnmG)Z}X8QA*Lc_(Ri#^5CJ*!u z%9kPcWypQW1L;{o9_SrP_D#=BPOEUzr)S}`VgYS!hMvQNK@n`qgCP;jO)fOfu^JG8 z9M9nXE2KKX$OOa4hKP{^IYtzk8qJ`+kq2?3IdnH#!eFBnoN2U%g+?3LX|#n`jdt*( z(SayNN7CNNC%udqInyX03ysd?4x=mCXLKi@8a>IEMz28F=pE>8^bPbiiUL!O{()IW zabS%xFi>F(3Os9^6nN1%IqZ}{X3VB5jk)wD<6OGcm`C>+ z=h4H)0=2+6UmR9jrKP4ktklk~`Lo(tZ!Y*op2kg<6fo3wdJDmGH-(_IXOF7^A;49k zJ3Xei#1IR-jnrlJuHy^D{+$fL08D9k(xdx7ZQodvj85{`4+1tzW{H0I+>?=;Durx6cl$K^QAzZvF8 z5epfMp{;Qd3^SI%Y{So!&+$mbIZ`Y{_=g!~w=Y3jm4NU!u7x2OE-`L`(~UK7 zp|KX07`MXp7{1l0@PTEW2bOh`vWp?ZP%1Xdg%W?5erip`5AH}WGmk4WD^?cWkDkj~mNcvmlYhi4xhWwDwC&XmB zULMQG@>3J~G~xO)7hmXS@)t9?ftM2z75RKG=(AJY{kabMk``HR_+x(HO!JqW`~RqhLr^m#tdy1uICpP*`PRwu?F958e5n)*WSYD2%ER$m+dek~%QFXM2yM7S#ET8D3A z3H`F3rPYR3|$PnWtGQxP7j51y&6O7l$>Bj3xI}wS4dmmY3`=OwB9M93Vun465eG<+$ zl*g;}n0^rT$kO)txAJ`$lr(vfZq2 zk;lsG+zAb)eH=Q~wdPJ)ZGDF`TO6ZT` z|Gs9&9P_MGSLr08M^wj+0RIZeo5Bp8BBAkuFhf_N89XH}2ry_3Rl*=$L%QxxVUVulO1MOrV;gW8^wVpx z7E`Q@I5+oiE(|Pj9+d``{(r#LntG@5JJ7%pu<<`m?_;_v>MNJ}?ChGrK#uzLy+UuT zKasqs<|9+gVg$#TJ~5il=*qnv0oj5|3Scu&=}-HJ6Aq3mYxHOM4sVgrpXWgqWvwu% z6lzhXC-j%1D*rpPP><+$aD;=gR|*a1UBsB~yrP&0rcPZ8MXYoIA?#d}cJ$>YJSQR&u zdJFkD5W+npvz8hNe3Zpbb|EyL&8~`5ryjK4r07>U&o0G32s!U#`62#`h zmvsF@l|ajq$JW2gaqaQ_tAC{=^ly+<_})3g_=iw9qnHi%!-M)ya^|Msh5>UeXy!ja zH`jq}u7?b>0 zdpu0ifA{WuIoV(Yd(tHD|%s1h2^8h?& zz6;Nr@8MDXA-rlH^zFviy!m@g81nPo_?kwA3L8U4u0Xv!lqY6QgBQf?@_o6}Xl}H? zlozENG1ohm`Ui~QQ)vWS9fi@{S&W=t$~}>03AUHvOkVF9pd6NL*+_3c4vEWYEQ&ib z($Y60t$j06Rv_o2zy+h@u7Cs4l)im@mcr(zz|7CUG{3~n@HO->zkz<{w{VjA9Sk+U zhhgTA2-M$vHlQOt0F9IYVlY%L@E#BrAW*ng#pl2zizB3=4Hqw|pg@eao==B7sfSrE zhFpUD==m`@b`0aedFO9py?k;n7_@6nsQ7E05pJ8-LC_{FM5iNuZ8+so= zB8qYAH7fuuED8fH6^2<1PPGh}W0|nfvf)B21dFURSZZa$6;{LtGuQh7gNp^E2n<9f zg+nR;bG*{fvEwWZHlf&Cnhrjv(t?ZFJoiOPiY3C1G?cLCykRE{*SpPW-I{)LznfHN)U;__>pN z$DIQ&=vuJ|H;FM`N8du~B`OhmJLnOLxLipX{kfeB9_`{=Mh1VrIH^EHW^sQ%1=aMb zBIY>!L3G5gK50rs7e3%L;qgbmv;JFtxoKToxcuo-#JI_Hl`+ui=TOJT)jZMFQ-oGS z^b?C1r}C-31zv(zJo6WEJHcuWw$&1HtTxcfY6~5#b`Y~Vz!)nZrdcsK+ls?Vt2110 zb%k53Ua-OH4O^`~aIaMaJFWhZz~|G}0N8I0gqN(r@QQU3yk?yYN33DKE7C{3ZFJNq z72Bu-ye0ev1+W))8fC&!)!DGl7$ptvml~rnO@*z{N%#kWqc?K8UK-Rm4ulA(I-HIFg^T2sq@FLCh8b9c3`inIF!(1l z^?VW;+@Sz#P{?sj6v&R@J|F9Hw4^|O_ij~{F|I=T8WB3KGH&gZ;!VVmA8--&Pjrtl zxjag%jVXM^B(0zd_86y^R~u&}jOjwDdaW>rGR_inK2vB|9r2xUHZCyZ9R6o+C8$M| zFMxF15i7g}AaJ5J0{40eq+4U4yEPVyt#P=o$HOvf0$grQgca5#TmVyjhyE&WGFQ1G z09a+5EBLo`xWJgFY{mM!Ly2*o)*dIb7zWd0#(dAa2x7+-4fv^V1mKSF{cSApjGPV# ziV$F;;|QqASm;XC`un76oEtJO^B-8nE4$PbUg+!R*Anh%<_z=zpfjXW_{ zkY8jS+zFP87Uw>Yf)*P!yfUsdR?6k6OLwVPRT-;`0Grku8TX96UKS?6E5~H zb0bu)F|GyoGl-7OW>lC;8rN}luYmg|F>Yv-<+D~J`n<-sNPPBV9?KUMcCx~&me66~ z%o{g*lKnDi5S%4>Ok)kV`ZdMgM zumB>#&i|wCJB&MJ-RmXk7UvSX%(8<0VCV8r_QVpbh@0g{)V*f8!Zq!q$|={ekMiFj z6z=1LX8;RMhfwfL$PAtZIl)139$e(>Y)`MVJ-yEM z^g7$QvCigUXYX<^U-_>F4NI}k2`+2Qu*lflSlN?P%U<4S*)7IaS+=i`yC9l~)fjiD zkXON#z6GIrBUI(ZPGW2~c1VmeU0OmuQe#xc6UKd=?-N;(HwB4>KztyTH#q~i&o6+@ zRmMXV+$1SsR8<*|RsdpcqekBMuY_}}j6KQMPgKB^2Cqx1jHi;XpRIs?4PF;i8T*s3 zU*!4(|Lahd@v{3mDKMP@IXLQDARfFG=XV|S4&DaE!SygaxB*56H^P|U?JzNT2TTp# z3Fibi!Q9|xSQy*_i-TL?lHlENb#NP88{7dm2P@&$;61Q0crR=Z-Us&tcfy0g2Vi&b zVV{KP5f7q|c!pMwkY>hfk~j{688 z{~dnree|Sp(C2Tt-0`=Ji@rn>9|Z~HQ%-ycsUk)WCyakP!a`)Ajkl0Lgz!TgbTP*=2P(CYN)Pw3B!3)_9j+7dH-a%6lx* zTkV}sl!!ONBcAiJ9!5KMkM0Z2I3!-VH|EnCFBjlWoRwr-oY#7UydW`2rM&((#`*dr zF0_}*W8%}8)uvJ!kGtyMgsJjK7a3u3Awn}XE}LGHFbx^EWjyS=8YpgU1P|b3y^Y7! zyU;rL9!}T?FfjNbj0zs~?Jd`{iH3}Q6M-Nj&|j#AxoPYy&w~3RE^fkSSLaKdr7^Cm zb_Nhnm>KxX#9sva+cn;}l3EyN1`lDMKEu8o_VuBwx4*lJJJ(#k)5-0FnPq0nKJ1rf z@KbBdoLIta>f+9^5_fXx@X7cq0T7iLs-t-e$g7^=91%ra$!b!pJU}*3M#BV=AN$_VF9sCu>2Y-i2!J{xG=>Ld- z&(XD+XEv9HrZ)eG%pelruDSz!P%Yfce6%|vs4&7PyAek>!ho1MPQ+BHn=o4@*nvV8 zVVlTDuA2MqW?4af*v`>&hMS5Di&`=7^s4kGom0bF#OFqGh zTF4fd9TRj!p%Jwxh7rEs=F^Z`|f(m6Ww8mgaZLhC{pcwD422RE)IZQ7%=UV1GYUZkY%4D_Q;Q%ZU}f9pMb0JF#;js@+|;O0;+KI zra+YZX$}|Cj+W$C^Hk?@0r}D#Ayiva$%E!dq4$_eHk&0J^}~E}hgmB09_Nz^v&!YRv7CS-U7)}mhasB`0b6jcA#xVPWZDuh z?RG3NUX4fM6J9`Yy7hmKG3HMMfo3uOvMlc!V z%2mx*PF$p8gOkpk%?ScI?gqz)R9{JCl+>6LU4cMTS0J#fG#0Nl%QtPf+mN45^#%o)HLspg2|xRFu7JAlPIHd|sq@#U&a zhuL>8|7IZ~Jj=C@F?5{O2zKF{#&pCku9(TcqRYu8?o%2JRPo(!_0ONk@FqU>y`kgF+RYwsbRe6ZOsI z{*{8RgRGe6Anyq(P-?u&oR=^cRKjn(_)o6GKJ)w?@VO|zNR$`;yPh;J;-C7gHJ9@6 zGQN7qPKecwIQVl;3g`W` z{Jp5v_5a`Cm9I_jl!>qkG6qLZO1zO@zk>`EBfp8;^^2L2%Ju?jS#GY8ZJTS0JlLo| zaI9DdN1}Eee2GwUOg%mpRo%vc7)m-gH;se^J-l*zMhh73*`N1H@4s?9r!GAp5#Q?#j@98FiT zWg*P?9%TO)v1ne-j)pL5OTd|us1x_ISm`AW$5Pe}b@|Af>} z7tS!#p?*t!QYUS`!A;i8w*=T6=p3jr-*v30VkBXH;IUU^E6hfmI|)pCGGy9Qpp88h z+S{i?C;JRM;ip44dj^!+vtWXK4xaLJ;4J%GSY)3ESJ?~TCi?=|U|$4x+e=}GeK9<2 zUjn=BOW`^D3V6j{0q@&a!sqrX_|?9efV~<|{A);a`&!b)zJc_$*N}nsT5^(oD=D#W zBlGO_WVOA4++*KC9=yz*+Ajr;+OI0A{hFfNbCfLm9Hp&2ONrYDl;QR}$|(CidGVwopH7JWMuq929Q>7h^) z`gJISpMRtewBToyOTl1B3NYz6u9YAC#{5W_Xqog=LDf*mr0)u^~h3ZDr=yN`K9?47*vNEr&lx#JDgt8EV#w#70rhQLWCTo#V}Qf zkZn2|P8A+UL$n+Q36G;;moAXK%au0nLaV?OJ!6;3=^CYt3S9-xY|IIzs%=&tJBP{0se#@ntC_#?uYV@KwdpW|7H_G2>*3H zuzm;q2n40s)DfV^;CjuhJ;KSp;oj(u!WCW)Egz|(Z#<`SS4v?)evJF5G%hTS^8+hy zkE)l)T~00To@>?Sx5qi43uS{I%7IX*DRd0wHSVz8{7%Rzb!aX0Gd_O}9XWi6{vZ82 zkKFuT$T2%fM|3mym_L-qgb&VY^QW?cJ?1av`MK5RZ#Cx8J!XA*wMB|(!SM#5w0)7v zZ9iQXojk-nbkfXPE1>udK%+ECnF_f^s11&$Jv0mThPI(T&@WU3lkjt6Kwj zsh$^8ZVIC=$=eKRJg_W6Hv@}m4|`C1i6nt0+}(yof)*-;v``r|4ULALp|LP1G!Djv zCcs3DPY;#*K4&(=1KteF68DKUI1ND-7K>o46%-6wQy6a90=@Nw*23eZ3WLD$bE$c^ zKAe*27!tWy9|^K32bnY}CDj_7?)vC1!1Xr9lRM3qGM`R(u;1j}Om#(`DT$v3Ak}|C zXc|O9XW-JG?i14Zy>=yU13Ob5$Tu%d}TpF$d;d0XIO%EjqykClu2zd2v5 z;=R?P)@sd-yESKh8{DMK@F;jaqULRbG@do8bDQ*4jBtZLL$2v}B5V`1aH&j8Fo?p&Doss>OBi7&H&h>sy<0S^tqx)@7;w4OQS5~#ut=KlMc{m^lMq%k zhuK!X6~nzS6tb*%139(xu0WcHox?u>*w=B0AdVGro>0|2ahf0hD(Q7KaN=_Lp64z8 zipxu_&e~UU;hZa1V|#9O>8{3;_y?DLarc|8so&!Wy^KiZ6~x4^`4(z>4`}ThZm_o4 za2I`%RL`i+@*!H>Sw3mTJUTtim_2~xmaKyw`O!M z5L(5_Tg&F<(xA&4h-?bWM|yi-wRLi>H5{XAlqIZ^Nl~gG8ns3%KntB_U2Kc1alX46 z5!>octK+MUAF`Zsz6Y_;`_Mh~A)@P#U`FU5F4KR(qR^+XBy;?7q*&9X^N6+_$zS6vOX=-Y{SC=1%^Ku=kzpHW}7A{6hlbyE5Ds z!x3LJo^y^rXXn4ld9FWamj*dgK93ptFVbH>Lwe{JoWWmVYUnpaFu%jYp`$)ptjgOj zRYLEf60O*NqK#ZzeXqz-#(?>4l|hvgr;&=3p)4Hmc3yGJV*S4N-lHJLGT>{sYKZ4^Qk$;O~MxFRT z_>2VIzY#__A!oyvA$3*YZue4ttT-E*7UKXMC2V?>#^rA2BXGr~|4eb77|w$9a1O-6 zO`(6d84M2R!6=MR4!80huI1h+%DrocZN=sZKz|$&9}o2=TfDQD$Pu>U&J$BEA{M0F zG}OLy@i{q1T7GYoQd4WGk_h~}*o|GBur77J0?+l_7Zuc6mvL#^c?Aw0L}qQW-^06* z(pZ-}SNZ5b`E3y9yGLU!cklU$8-85j#OZwLxFn+GZUYw4ianR_+j5g0poNw#+zvwF z4$vyx5juzSVQ4rGQ^N&takvXyAMOe_VcLdpPalE0(F5j23Cs}OU|lIR2(4h5wGt0o z1rOU(#V6(|;=bc(; zJ2B9&ZUFRa{!f5@-CqIyhW}fj_eG%hL!kFZpbtQx4?>_1MxYNtpr4FDAAmp~{{JA* z)%70GPnSSnQ$^nOKz-By38>fn6{y$#4^VIYU!X1p8Xkq{Z8WqEkA;5W@h~<#0TzZQ z!HV!?ScPdfg{S&Jy~YFe8VPFZfjZj*bw3Z(V?9tWJPy>^$Ah}d-vzaGtF;bX&q$8p zlD>z;%Bx91iV0NMf2GUk8Ogd$8hPo~ddK&$wZW>8b#4afdpK#DQtDXh)LI(}lvaXO z7OS;3am$^Dfq$hh8=6|1{jTA{XXEKH2SGa*nuX7W*5UIS_dzVdXhBrilLU}u*NidN zR{x!Zrb(NPL-@2dW6ZkSW7>AhFVmD%S=%I>-OtI;7&cX{I8eRll!;5i|EP>(Sr7$9ViEl(D-iS)%h`J&~?h_YM z`axKHhTXB?RDm3Y5jcSRt(|fJi={DQYtc`SR+#D13NvFZPe3UwMVv#Cqw=B|L@=Gi~R&719 zt6>>+udhtPsy?onYO_yDGl3g?MQW_tMtU|cwP%}rMILLsXM0k67Wb8T+le1(1$10SkFGO*BqJ8HI>GFbQI3# zr2HytKSoqH@*+l<8+jQcx*K^7BbpN_-)%kpu(%Z&g78fI@ushCwg{ zpC>~pjK-(Wr6;Zp*;%nZI)XJ^vkvetIN<(2!2i4nBOCdHLmT7{EpUo6G}5ffdfOe^ zyUx(84-#h6G;ah4G3Jf!6aFgX#y;b*up9dVV;)4l;;%F}_AQUuZtQy=3%aqNc+3OQ zFFcmv#(u|`*O6oVmEp$fc`QxFf&m^&cVjA#nQlzSm|K6)!id|gV2J0l+*mq~HSwnB z?S~PfX^7+U5O&R>1LWf~2ECvUKKmjNhvD-S7!Bj_IUc6LnfROm^I!o!7b5*|89pyZ zPV#zu-T=2j1wJ>zguP>sCPA1r+O}=m=Ctjewr$(Cd)hYNwr$%srfs|X&hFkD_lx*q zcPpZzvVK-RCr>_6aq^t)I?%k7I#`1KlcGAr+>sO3wiUg>lZ#tmyrGlPTl-g>yxqRp zTU>sBN*KeHEK$-kvIoYr!GFfUbm3D=M~VkuQjw{j)2*bqp0I%i6!v^r&}RD&ViEr` zP!Y^ngV`uMgSdkW-}M4*`ag#~A$ovOVh(DlznucHUJhC96;+0lh}ZD^>2Fu96qCO~ zW>*9?`1m*XYU#f>j6bb?-1<&vUoRtOU+&hSFWM3E-d>~kYk~YDT7z{1!NT?$agB~# zeB4I$5kH>>KCN#xBNTqE2X_ZjEhZ!P^9L7BVEH`bqka7VDat@X1!cMm6lDMbNlF6$ zdj|zW1A>Br0`fM|kO%rdE}Va32OCC9XB$I16L)(j8xux#Qy~XS24fpTXXg~PO?6x` zyzelwOO#X@Woh7k21QG#v}LVg^6F;6atk8KKTvw-6q*CV4O!QAg0pwS0wVf+1p4oa zzEIVCWn~IpasEkOpVKx_M+~0n8DF|RZ+>YRCz+bRg%+ZpsNtt+uhx$~}%goNkM*qm0&|O}01k@v*#6-Z zc4u*)&tf^tTrK?R0^ta4&phPhCgt2}zw22Q`G_TIwA(df8Ly)IX#(`C&$-^El79d=pnDlF*zyJXe5dY|u!NnSrvsPcm6yY4<2~N0g46)wmORlRjf5_mNI{^+J zovlb^Z$b+WEdv+D#Aa(7XW`sMVVAB}7o-3$JS>G8NEnkQc6D_Bn8(ODWk*QO|LnL;!T0c2qq3ZxfIr|Gynzv z$-D)JdnpPJ?l|TCW5`n8ET7rx_E?zV-%T8%+8c8PTFDcV*$TgUuOiSy-Eks}8|@|4 z1vzRZN$ntJ%?g*j`wd1e$z*{E7csF%>&b(qg;*BeWZ8M}7fv4+!+xHNQ%E4E2I!Sh zkk;$eBKcINC}SQk>PqN41p^*xag8d()}r+H9lV8I0r!-G#Wc6f3Ow7(NQH%eoV>K$ zjdRy}fO=al-WzDaUQ!=wy{U$W)8^zSF=|^*4`Y}^@G-(zgi-n*<45w~uUG=;)%g(Q znD>wR@F5b>jXeLswRnrjSn-`|Ba*?~k=*?_#)wrgMhAO(Cx1jl@rv~7gF%`^n>%nN zYn}RVg@`*R^vVQwCFi8Elb&sYo@^L5$jaAqNEcVgJmOBSXG#hv&m_{HAPpN81AF9W zOQJ2OOH006%cjLO5vi+^zfbdN((#W#-Fd+(X~eRMdr4^Tq%hrr{i#f0qb|YzGRtoW zoOh^S^OhL??xMHNA$O_?HW?b4b<{aYY-!`1f*Q^adn8l~>rn>Y9|9U_f0F*-kPs>) zcia>H2ak#9J_rYZ0Rc%t1N{#?M(}_0n5u(`p^K>#8S{T}nQMZa!WI)!m_FqhMOJAY zoy*(zpE2MTrNtCQ#%eDhbZE;nU@CWeqbr=C;LGAKUCHVwuT#W5LRBl|LnLSfgYn$E z*9`ZO=jp2(0U)=!>p??}wkcFgr<#VF(3!@+7p5aJ1&4u%@rI3ahbAgHd6O*6XQC#m z3@#1Yka096uT+?D)lMXGpK(KB3YES@$3-d)pF?$BPk2qf6MI+a85Y6&rXiRXp$>O6 zLGjcO?vo&kB7mW^b0f0Hao?xwI!RBziRPvciqrK}tkhfpI$}Awx;o8}_0-2H^J6Xr zDIJjklt(6v@d2=ihmHyl`p3dbB+lj4KkYrBbCzZrmUQ`5F*%7Oy3R@)5ugOBG!dvI zd~>vgWmqTV?s_JmQD)32n=7&?A$aHZr67+F{bBF7a1T4LIxV}nK>{(O?=lu&6_3Pv zs>MEKRPozGVI>#*ix8@o`Q;Cxmgxzh&&dyIZ2r7My+)FZ2F1m^NVP%rOvh@GBjkS+ zapgOv-xC-JNEYOODk9Z?UqmHS8&gAPQx#7K)Bh@Gtn!V*q9Ph!yxj!{%~Zi4@b>`m zrXU5(kO{0|A`T`j7K{vrK+07ld5QK0LgSAls+>W(ARCInhXnSGHBN@f2)pGj?@f;P zb^Fcs_vh0SNFR!t2^_O*YgN#hR@k=3u1l4;Ve2x}uWOT*_F?$68y77d@d(4eeOxRs zLz|4{ZXbV$byoCx=~zvgerVCKg=d%XjV3oMN>g1^3^lg5w#QT^H)<+ar@F9ZDYPoI zOKrU>;gmSk$+w@(f+djSf{6?EcoN|flmw+rn`JgTPST(K>JuyfrP7HAVI@$R0FR)L zfrx^qD+>%VycPAilIU8eeK=69d>U!c^Julnwlu5ul;(54%})8yrkD zY~_>IZS3+F4#xHhVz4U;N1aBWUJHUWO|Xr^4zY5)8kY^nUNBmk-TN-|>KDubByp0@ z-8S8(9xErmoPyhvm}-f_CEzBzNiI_NJBIx#{9j;ob#?4pa(Mg=qd--H=wO4yo6nAW zY&~qlThwYoQX!bzq@k0eY@J8lhjg)JTzjo`KR5*lhIh%mfy;@c3)tcc%*Vl5#Dv8@4z!oSE`NE60nyCe80RD=k3P4Su&?!^ z#3BNSB=1gGt|Pt5Ge6Q12Gq;VkaN$C8lI&m^p~UuPQutc;~*bK)tA-?VVTdveDV{@ z(Ccv(8a}y?{Q|yt1s>-LH`5Bfs6jzj{hKB@Q;uF`<{yS zzlZUEagvCkjg66^vGso;**2~lWp`r5fnz@7dbcEU0XE>7h!zEb~xNmDsFk#%MKh$fXraG|C=DZHEUgfL=K9j!xIS&rVvCXyrzViLw{ol_6 z_5U^xN~X@PHZK3~dQP^tUsOXI$%|fGbF`PCnyW6sEo%BxJXdwNtI?puDHRULB9aZF z`$NOYKAe)}5;v%3nIyPTEVohYn~ba%ASlvxEK-o;Z7d`tCSCluz4y?0hVNzTu*>t~ z06ieOyn<`U!HaY3Bd5>S_In8-c-qI;eKEGnp|rNOOP(`Ag$zr)bvxWH7q9g`Ma?~2 zsQIEqX}AU3tQt5G4NGZx!|Tgzy-n9}ZlctdPCJEVa4gDD>*8o5r$UuAqM4s@)k3+w zY6T}nyG65-<#eIWCRxr2FV$d+O`R4&q$AI3+v1OEF-5p^a}UQNQhK=+v?)^h+Fi_354#)Mdv$eChHdefd!jLv6nsSh zBbN$rW04?=b>_tJI0pn=+>ZZ)iA8_i37WQs^ z_h`x7aC2lj8+j#YZ8`G$`Avi~T(LoRt(}I8+IM2Go?X*j4n>3O-)fVw9mISc_rEP1 z^I<1(ssI{K8sWxA^>ITy zG;Dm-X5lOpRNqh|R6oB1mwxCIOFT1cBzitxn4nEZYf)CF zB!V6gF|5+`pvRV3cSPMB+)lb=koa_k!_HJBdLN+;->oL2&i>|lxsh03>qJpfxpm4W zmB6@DAvA73q3VYCaLEorZ+{0~Ey-*nCK(T&zgtbE`2NqW*WrZ_K@}7Th#BI4TC4vn zXDPYb*%=zy{C~Tz(x&vFAQE3EKn|xUR@J&&|8}9&z!ym$jSvm2fXd_SgF}}MWiheo zT{lSSt{?H173>Snk)zt909@0}-28begS+$N{_YXZ09A&EYfyTS(KCTDXv3E8(YoY8 zT#n7OZL6NLng~f%|6G!3P5nST8OrN7PmP{bD}Z$T&s&^d0e0fF45QYL!B~p-gFUL* zC~Vg;!=OtKVY#BA%Gk^0pROxq99eR3tUvV6sNQ--BD0Mnqn1e3%aMa6t#hdw&@Gx0(qckaV zR@sx<=>({PWnBmL#re!Q9~=nw^#@55nH27~TnKpKyahtQdP@hdmm9p!ostXFH&`}= z0nad`hCJ?|`(MYHxlA&+S6Y^))}`DAac1#ULp--M!{{m=)@*N$_%Xketf-7$p_3Z{ zt{8-H_;aI<$$Du?IaQY^+o{LvfKg`#y%Q;HBlwtHbL3Cd|Jad;wE1a6|20;N|6^lC z`M)vo|JhgR+M@`e@hyU5oNkb)(%62L55qKJRNDFmupvp4o?)Q08blyYW2|&cyAe++ z4HC|aqRM@OOA~Hb*!VpEYp!fKm2hMJ^yRQRU$>vk==goVdqEh0Ta$=mnQ4nl+v8TO zdu%twh*vCFmA9A;&m79PmPFn%#o(7qSVdWU0R9=um>_Y&WVJ_i4Kh*wsFO@1(WJOn zhMG&)>ugL5(En}461TK2`s^Z0bH)vUDVcDq%1ojK4<&v!qEhuQwL2}ft7V0{6HVz) zvgcqE=n_(tf>uX1yEWC3CS!QnRJ4)dd|4b8Wf$DCM(MhJBX(k<7W&&a+n)?3;N!zi zN*q8m*jAOL1#oUF)8swREnp5gGSg+Rs3>v1w1FTd67{=O_sXKf1Bgo$4g36JmNgd| zVq!cXV0Y|yY_+uxN4X}QK~kibxmwApW)QhI(m(13t+p$R25pJ@3=@t)XYiQ}lj4#UtMuP;+!-y0K(ew~Gepx;|1GTltEU+Df%Q>Y zZhq17rpOroOBOf;6#Q!h66s!LE+4co5De;XAQ>2_D$h8ai2+N}3@K9W4UJXvvlStX zUY@Elx|UEzIh9qjRkhYfSF>tm%fCVON=1rH&(FrmlnDyTQRkOmZ>{>t<>-cYZTF7# zl}8@;>z*G8Pd~@DP?V*xLOBfl_mUR(}&2F0{KhbqSGlTU&k2v`qRw8#W}ESEIm{9)hZA>q_lqrQNM$5Gt@f z@yiX2h>@TKCgqj0$_uq-UO>8~l`0+56})IC>9@vmm;n_MZ!;xM0_@U~ zoH)Zy7|o#hC4Tgh6Hgo@yn!w3v=^(j<<|PWZS9s)UrLrdmJ~^#gQ>(}z^Ds)@ODpsM&Fui|zdhiH7l{v&mp=xyDsx3Wb#mpwM zQZM-a+v9>si0lOXnY?!d%yHKt=6F1z`My>-yE{iuNUAChUDfsl-@@i{mrKBdcnxKF7k!-3> zY|B+Pnk!qGpx@Oj7CfGPMmp?s$*0#)qS|u%R5lR-Rkl4Aitj51&mb3{Ddffvoqk-M z2*GF8=B@1kQ`ivIrEaD4KMI@zvXL5<&^R|RBk2^e^$@>KzkUL<{)~#7LwlyetoB&_ zNsCKW3m1Bz<_-UB>K7_B3MZC=uqCr-E;4;O7IxJbXox{td zt&R|)R4i%gF`J82$&q1}=7LJ(wWQO+T9VNwvcUzt!?3l|fgPn^Na&6DwcBt+oJ zviu}Yg2)j$8K5yrTE>Ry6~zs8T(iS!2k(7=&y-kR=$Ok-IyLEkynxW9+x%;orKP`R zZg)^<>yi=75XwBhHJm@GTu19WFUZ9ZEZ+h0w?UE`wwF4)4Q7b}yZ=t4>cysf*MH#L zU3>sH2$%MwLj<8C3_x>ObF4!0FK9E_!e3?i`T~J|2G4DN*(LSUXEpz3zPXQLf%Nc? z>WxDK!HnJX@y46{#?00VOu`GC_HlwK!EPA5LnJd|$ei&#$FbCq1GPdI?Vc2Or-nWq z!Rd3dhT1%9*_84=aw~K#w0Xv9oN8veDokQ2UyN#wj;`;*ooeoS%{zQm zzM}3>B0Cb?LB}>_E|izoPu)NZLHSf(&A9oSvy{2wt;K|hNiK);=O;r6gAn>MI)cSG+iKa*v3ze6l1lGJ0W9>Jy3u^^Gyc<3o$8);ZY|7M zal!OLWa&0F?@OYa(bH{710Gp#(7fWT>c6r-dZhlxp47PvKP_(#Svh zlhvLj|6IJIy>%YB_~=K@%8cwKSS5rr@~|K2_#n#=Y1J2zqeD>c`lR){V3}>kFGVoN zO9ePj!QVp>(!D?oMcL4cq7Jdt=e0j4^7SVHGah8(xaGh%XUEEX-G}0nDgndpL>0 z2t}jYxE~V|;J2mx*;D<(DI629FzU_v6(L9^y;Yc$9G5?qJ8R=Bm=rdD=xrnznWBl7 z{1cG;lCo=RD&c5m53vhC#-$V1;SIz9YlG zt(!X3{8?`AfN z1_i>J5t)GF6>1&9^JYla&ZG}YiUOx80t2>bb8kFEhYeQBiw$9LQW-9nhP1|lBzxk= zlLzi*&dybv7jy%K=as6|(sGC6U6{zky$_M1%&;!$jBQ$wVRgZ;k#pxfLv00bk^>%i z@$RSf*s~`@Z$mAUm-(CC4h!5Kh^GUzKHZ*_$cD%Nna$^py*PCqMZ#m}^kV)jA-FO< z?tLMDw|~?>gNaW5q_ME7vWm?SqiSoPENY+;6}|=|_sI4R{7{BuUX2zxrLP4zzrHPF zdIryXR#oH)J+gY;dQN!4?G8lmbWb@w?)%;qB5$HB(4Pk-;taQnH~aAKA2Eodh<`uc z9Wc1Cthf&Ap2L!47Kup1({LGBPgN#n$P$x5P0T`tU`@Vah!Yfquh%-Lm;Ghb)1RjWL1Z z95+MMCXwEMwORa{!@Hl9l`WlNd!@@@Q5t4*p62+j&;Z{}6Zgpo1a-%`#LVRqgdmPh zLf&4doke)=`*cq07rH}|2ZO3-@ApW{?p@#eBTA|n$<&t}vx&|C9fo`}I93WrS9rAA zKDt*6UCf8IgA_PtQ&+*O`Mt!B3h~0yFaaV<+@X&yXhKB|W8!EdkXkX)_wJn6Z~ovP zAdd{j%!FoGwE~u>!-D5!fzaT=kax59fHV?^V0a7eLmb0z5!BD+G!iE0Q6#DyVS0i8 z=~_yv9Jp5qmRMoYr%!k-_3r@lYX^9(4BXC$q?m3{8aLgs7ghgs0HiSH-O)goJrN8w zHoA#hR&cHCFqPWpdUgb2&ba!mDhdVvfr&|3Zf0CWF%PnWwB#>-1+Kc`sL3vZz}}HP z`v>>FIQn@5ywt(p4R*hMzb;$oSbk32?_KArwX7kfT9qbqxPyX3m3gd0gTx(h3)wL4 z%`jSr!?)P+WL(?^M(ia+nm(>MUm*{A9-2OCZ1onG=5&;4CAUp)w>Kc&!bs`^w!Rr4 zf0&N$Le{3SH!6z1xtsT4J?O~i;EC#!rA7}TJ%}8Q%<8qZsF@oM2^3YD?Gg;oq(bWB zX=fn6|kr$UehsrGA!ZUARpPUA_h0WPA!A|X$0Sx?~M6-!HJaxSYI{6m@{GkUSDK$ z)Zn@MQMMBDE60EHWZLnC48*3zx8}#kMDKA)%}HZlRC6>ubxci5E?;Sb{pl&H6$zi& z+p=FLs8nchZj#P+aXxno0pO(ySN(jTN`kKU(M(!O*Rr}-h!DMG1y1}#X=k6_QcOtq z(G@);nJ=RS3knlmF?K8hC#!INy0T_|zm!_h4{)AC_u@K_k_B)-AxKrnQr}l9!eSCv z6v5ZA8|D@e3F;+5WLHp(ZURJ-%98rj3OIv^17t0+vP{kT*W<0DsC{?$5V1J%Fkv!# z=u&6O%HpTAS7YgVH%*aGJ;p>=)GWDPNyl08F!F8z{dv&SjUrmr;lgk`tVuGSZiU!}-%DOp!dZXqc9` zbhqZ%W3Wb43ksr4s5r4Imstpaf7$)EDTlTyq;|v(3kJ}z22cGm{XX64FWCAMoX}#C zey5(al<>!hUF=iOE6K1$vPoU;z#7c0qu|#DmK_wikuHl*nle7ApMR19469XGfmzfp z=Tv!*yt>ohZ}PCrYH8x3`GBt5W^r-qs4Dc_WZVkja;3SWXm*n7CJRDTid}LEJoEBH zat^A~xJPO7QIw!`Cx(}x(APjg_?fL(8%PNq zn&F@FyhE_D4$SMw+u@f8{yRb@Hhgze*!XAQrp5&wiZGrPihilMR-ss(*)DH*>apo2 z6Zf1Jl?mweJvl2}ctvQ*HYfxY7l}@IB zDGdNvO!hgGO4+>(#x^QU+;8<9z6tAEW#Ynr8IL|`1uk4U@Ff;cw#fz4VKCHK;G`?$ zDJ-nr+?Pmt(jqiQUD8qFg@+e?WY&>NL^U%hbqN}6Fz)+fCNdY~P>ysypoV3s zHRSk>XU@i|g(JviDA;ixn6x;B`6)9S6W&GQK%{n(!TH4NuNaB;F8k8UQuF;~tjk~- z`_Y&zw8qv^bc^I`Z~%->nzWBqna$!p&lsuYG^)HSDA|5YRA$N(IxUEU=t)HuoNHrT zfsfx0G4oRUxtfTteo%`}h(h!_=BSPo_q}}pwfYzBV9aCrNb($JfHf}Jrtp!S z&OklFIuR?>E79VyruacF+Atbq4r#Kd6Yd397j^`>D-h8I`mqk*1!2=kI~; zxs(WB3X5v2S@k3!9~(8Txuxb&v^oOo^&_D%$6-sS>>Yd2$v>a-a2npAArIgTQ12+H zuw=^iqLE$Js|eHM7sJhCU3w^tU9SfUK{@H|bEzni{+0wGC@)m5>VAXa`UD2rzz^t* zJAdK(GQ&=RlCE51gny#_U9VGZ)F<=3A@&tE&N~7cRgU1nbl{eux+`7wZeNO9g*m~X zU#sSZB)Cwem{-PofN1xJ%NR}Nh*}93__JsldO(0|P15ht%po>cgUFz#1Z1eJ@93t&0StLwu3$%AMe4X-WnZmAI+j+2_9Lr}Kz+XCAW)QtK-X#XNfAnE>HHWnYLqRdS3sXAyiwNlPb@9;|=jV}r_H-f{2z%8a+c zl7TiZ5v;PkEp_l`!`P3?b*pBaHkt!Fjw^&w%T0mP_vMFm#PJzy;=>OfY4n?^pvqRx zmN!fzydbhPdvJrP=9A%h5flT}J!@vA$~}9vI$_|-%oddb$U(V`3!n`?J%1}A9V#Mn zCP&vta9f1?hp3s8(0=~TcCiu0@!6Goc5V3t8Pd+x!kewxLPUmzI+P&6ZhJ|(xG*)zAcUiKb!2ixOjbHJ;qN5WCea##rQ$L zmtcRfJkpl4Y}XbFzkLui!5-CmKfZuXO}>a$tn7NOypZu|*4`cXyv>aE-0K?nD%AJD zR^I?tUf3$;cg31C{H*~9yQD&c#oZVM$dyPyLPlX^9y#2Ha3>CG&Xka zY4W?(m@R+0XlXvZgu1k>mW%Gq!z%&P8|Ao|NyZP-lcg$cS3243g4W^;{xN@-byKt2 zj_0+s%4TO5mkhQOy=k^lq}N!-cNpx=Leu3PTd|X zHY>S!2tzz-T>@t4RJ|>Isc*>j&j`-9WOPeRy)Bgin>}g5CBy69)H+)AXE{>t0QHI9*|M=?(D&_Kct7Kz!tz{7J

*XqX5h_UD7yCISBitr*5|ezK(*F%v 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

AGz<-ZfG0Hd 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 diff --git a/implementation/lib/Towny-0.93.1.0.jar b/implementation/lib/Towny-0.93.1.0.jar deleted file mode 100644 index aeb647f2900113780ac60a3589644192ad282cb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 947742 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

l!{tK?|z}AxMEHGX~!)9wHQg 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

HY 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

J)LvKQ3Kq0VWzLBkwH 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

8a+^lJ(44|v%rLmBc!OXLtFaf!j^rP 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↦PSct>9?5Iu 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%0AS@MzMY5@NT_NsqoS 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 z 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 diff --git a/implementation/pom.xml b/implementation/pom.xml deleted file mode 100644 index 69b14c7..0000000 --- a/implementation/pom.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - 4.0.0 - - de.epiceric.shopchest - shopchest - 1.13-SNAPSHOT - - ShopChest - https://www.spigotmc.org/resources/shopchest.11431/ - Let your players create their own nice-looking shops to sell their stuff to other players! - - - de.epiceric.shopchest - shopchest-parent - 1.13-SNAPSHOT - - - - - vault-repo - http://nexus.hc.to/content/repositories/pub_releases/ - - - codemc-repo - https://repo.codemc.org/repository/maven-public/ - - - sk89q-repo - http://maven.sk89q.com/artifactory/repo/ - - - athion-repo - http://ci.athion.net/job/PlotSquared-Releases/ws/mvn/ - - - uskyblock-repo - https://raw.github.com/rlf/uSkyBlock/mvn-repo/ - - - tastybento-repo - http://dl.bintray.com/tastybento/maven-repo - - - jitpack-repo - https://jitpack.io - - - nlthijs48-repo - http://maven.wiefferink.me - - - - - - net.milkbowl.vault - VaultAPI - 1.7 - provided - - - fr.xephi - authme - 5.4.0 - provided - - - com.github.intellectualsites.plotsquared - PlotSquared-API - 4.226 - provided - - - com.github.rlf - uSkyBlock-API - 2.6.4 - provided - - - com.wasteofplastic - askyblock - 3.0.6.2 - provided - - - com.github.TechFortress - GriefPrevention - 16.11.6 - provided - - - me.wiefferink - areashop - 2.6.0 - provided - - - com.palmergames - Towny - 0.93.1.0 - system - ${project.basedir}/lib/Towny-0.93.1.0.jar - - - pl.gnacik - IslandWorld - 8.5 - system - ${project.basedir}/lib/IslandWorld-8.5.jar - - - - - de.epiceric.shopchest - shopchest-api - 1.13-SNAPSHOT - - - org.codemc.worldguardwrapper - worldguardwrapper - 1.1.6-SNAPSHOT - - - org.bstats - bstats-bukkit - 1.5 - - - com.zaxxer - HikariCP - 3.3.1 - - - org.slf4j - slf4j-jdk14 - 1.7.26 - - - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.1.1 - - - package - - shade - - - - - false - - - org.bstats.bukkit - de.epiceric.shopchest.dependencies.bstats - - - org.codemc.worldguardwrapper - de.epiceric.shopchest.dependencies.worldguardwrapper - - - com.zaxxer.hikari - de.epiceric.shopchest.dependencies.hikari - - - org.slf4j - de.epiceric.shopchest.dependencies.slf4j - - - - - - - - diff --git a/implementation/src/main/java/de/epiceric/shopchest/ShopChest.java b/implementation/src/main/java/de/epiceric/shopchest/ShopChest.java deleted file mode 100644 index b7eb264..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/ShopChest.java +++ /dev/null @@ -1,662 +0,0 @@ -package de.epiceric.shopchest; - -import com.palmergames.bukkit.towny.Towny; -import com.wasteofplastic.askyblock.ASkyBlock; -import de.epiceric.shopchest.command.ShopCommand; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.HologramFormat; -import de.epiceric.shopchest.event.ShopInitializedEvent; -import de.epiceric.shopchest.external.PlotSquaredShopFlag; -import de.epiceric.shopchest.external.WorldGuardShopFlag; -import de.epiceric.shopchest.external.listeners.ASkyBlockListener; -import de.epiceric.shopchest.external.listeners.GriefPreventionListener; -import de.epiceric.shopchest.external.listeners.IslandWorldListener; -import de.epiceric.shopchest.external.listeners.PlotSquaredListener; -import de.epiceric.shopchest.external.listeners.TownyListener; -import de.epiceric.shopchest.external.listeners.USkyBlockListener; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.listeners.AreaShopListener; -import de.epiceric.shopchest.listeners.BlockExplodeListener; -import de.epiceric.shopchest.listeners.ChestProtectListener; -import de.epiceric.shopchest.listeners.CreativeModeListener; -import de.epiceric.shopchest.listeners.NotifyPlayerOnJoinListener; -import de.epiceric.shopchest.listeners.ShopInteractListener; -import de.epiceric.shopchest.listeners.ShopItemListener; -import de.epiceric.shopchest.listeners.ShopUpdateListener; -import de.epiceric.shopchest.listeners.WorldGuardListener; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.shop.Shop.ShopType; -import de.epiceric.shopchest.sql.Database; -import de.epiceric.shopchest.sql.MySQL; -import de.epiceric.shopchest.sql.SQLite; -import de.epiceric.shopchest.utils.Callback; -import de.epiceric.shopchest.utils.ClickType; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.ShopUpdater; -import de.epiceric.shopchest.utils.ShopUtils; -import de.epiceric.shopchest.utils.UpdateChecker; -import de.epiceric.shopchest.utils.UpdateChecker.UpdateCheckerResult; -import de.epiceric.shopchest.utils.Utils; -import fr.xephi.authme.AuthMe; -import me.ryanhamshire.GriefPrevention.GriefPrevention; -import me.wiefferink.areashop.AreaShop; -import net.milkbowl.vault.economy.Economy; -import org.bstats.bukkit.Metrics; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.RegisteredServiceProvider; -import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.scheduler.BukkitRunnable; -import org.codemc.worldguardwrapper.WorldGuardWrapper; - -import pl.islandworld.IslandWorld; -import us.talabrek.ultimateskyblock.api.uSkyBlockAPI; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -public class ShopChest extends JavaPlugin { - - private static ShopChest instance; - - private Config config; - private HologramFormat hologramFormat; - private ShopCommand shopCommand; - private Economy econ = null; - private Database database; - private boolean isUpdateNeeded = false; - private String latestVersion = ""; - private String downloadLink = ""; - private ShopUtils shopUtils; - private FileWriter fw; - private Plugin worldGuard; - private Towny towny; - private AuthMe authMe; - private uSkyBlockAPI uSkyBlock; - private ASkyBlock aSkyBlock; - private IslandWorld islandWorld; - private GriefPrevention griefPrevention; - private AreaShop areaShop; - private ShopUpdater updater; - private ExecutorService shopCreationThreadPool; - - /** - * @return An instance of ShopChest - */ - public static ShopChest getInstance() { - return instance; - } - - /** - * Sets up the economy of Vault - * @return Whether an economy plugin has been registered - */ - private boolean setupEconomy() { - RegisteredServiceProvider rsp = getServer().getServicesManager().getRegistration(Economy.class); - if (rsp == null) { - return false; - } - econ = rsp.getProvider(); - return econ != null; - } - - @Override - public void onLoad() { - instance = this; - - config = new Config(this); - - if (Config.enableDebugLog) { - File debugLogFile = new File(getDataFolder(), "debug.txt"); - - try { - if (!debugLogFile.exists()) { - debugLogFile.createNewFile(); - } - - new PrintWriter(debugLogFile).close(); - - fw = new FileWriter(debugLogFile, true); - } catch (IOException e) { - getLogger().info("Failed to instantiate FileWriter"); - e.printStackTrace(); - } - } - - debug("Loading ShopChest version " + getDescription().getVersion()); - - worldGuard = Bukkit.getServer().getPluginManager().getPlugin("WorldGuard"); - if (worldGuard != null) { - WorldGuardShopFlag.register(this); - } - } - - @Override - public void onEnable() { - debug("Enabling ShopChest version " + getDescription().getVersion()); - - if (!getServer().getPluginManager().isPluginEnabled("Vault")) { - debug("Could not find plugin \"Vault\""); - getLogger().severe("Could not find plugin \"Vault\""); - getServer().getPluginManager().disablePlugin(this); - return; - } - - if (!setupEconomy()) { - debug("Could not find any Vault economy dependency!"); - getLogger().severe("Could not find any Vault economy dependency!"); - getServer().getPluginManager().disablePlugin(this); - return; - } - - switch (Utils.getServerVersion()) { - case "v1_8_R1": - case "v1_8_R2": - case "v1_8_R3": - case "v1_9_R1": - case "v1_9_R2": - case "v1_10_R1": - case "v1_11_R1": - case "v1_12_R1": - case "v1_13_R1": - case "v1_13_R2": - case "v1_14_R1": - break; - default: - debug("Server version not officially supported: " + Utils.getServerVersion() + "!"); - debug("Plugin may still work, but more errors are expected!"); - getLogger().warning("Server version not officially supported: " + Utils.getServerVersion() + "!"); - getLogger().warning("Plugin may still work, but more errors are expected!"); - } - - shopUtils = new ShopUtils(this); - saveResource("item_names.txt", true); - LanguageUtils.load(); - - File hologramFormatFile = new File(getDataFolder(), "hologram-format.yml"); - if (!hologramFormatFile.exists()) { - saveResource("hologram-format.yml", false); - } - - hologramFormat = new HologramFormat(this); - shopCommand = new ShopCommand(this); - shopCreationThreadPool = new ThreadPoolExecutor(0, 8, - 5L, TimeUnit.SECONDS, new LinkedBlockingQueue()); - - loadExternalPlugins(); - loadMetrics(); - initDatabase(); - checkForUpdates(); - registerListeners(); - registerExternalListeners(); - initializeShops(); - - updater = new ShopUpdater(this); - updater.start(); - } - - @Override - public void onDisable() { - debug("Disabling ShopChest..."); - - if (shopUtils == null) { - // Plugin has not been fully enabled (probably due to errors), - // so only close file writer. - if (fw != null && Config.enableDebugLog) { - try { - fw.close(); - } catch (IOException e) { - getLogger().severe("Failed to close FileWriter"); - e.printStackTrace(); - } - } - return; - } - - ClickType.clear(); - - if (updater != null) { - debug("Stopping updater"); - updater.stop(); - } - - if (shopCreationThreadPool != null) { - shopCreationThreadPool.shutdown(); - } - - for (Shop shop : shopUtils.getShopsCopy()) { - shopUtils.removeShop(shop, false); - debug("Removed shop (#" + shop.getID() + ")"); - } - - if (database != null) { - if (database instanceof SQLite) { - ((SQLite) database).vacuum(false); - } - - database.disconnect(); - } - - if (fw != null && Config.enableDebugLog) { - try { - fw.close(); - } catch (IOException e) { - getLogger().severe("Failed to close FileWriter"); - e.printStackTrace(); - } - } - } - - private void loadExternalPlugins() { - Plugin townyPlugin = Bukkit.getServer().getPluginManager().getPlugin("Towny"); - if (townyPlugin instanceof Towny) { - towny = (Towny) townyPlugin; - } - - Plugin authMePlugin = Bukkit.getServer().getPluginManager().getPlugin("AuthMe"); - if (authMePlugin instanceof AuthMe) { - authMe = (AuthMe) authMePlugin; - } - - Plugin uSkyBlockPlugin = Bukkit.getServer().getPluginManager().getPlugin("uSkyBlock"); - if (uSkyBlockPlugin instanceof uSkyBlockAPI) { - uSkyBlock = (uSkyBlockAPI) uSkyBlockPlugin; - } - - Plugin aSkyBlockPlugin = Bukkit.getServer().getPluginManager().getPlugin("ASkyBlock"); - if (aSkyBlockPlugin instanceof ASkyBlock) { - aSkyBlock = (ASkyBlock) aSkyBlockPlugin; - } - - Plugin islandWorldPlugin = Bukkit.getServer().getPluginManager().getPlugin("IslandWorld"); - if (islandWorldPlugin instanceof IslandWorld) { - islandWorld = (IslandWorld) islandWorldPlugin; - } - - Plugin griefPreventionPlugin = Bukkit.getServer().getPluginManager().getPlugin("GriefPrevention"); - if (griefPreventionPlugin instanceof GriefPrevention) { - griefPrevention = (GriefPrevention) griefPreventionPlugin; - } - - Plugin areaShopPlugin = Bukkit.getServer().getPluginManager().getPlugin("AreaShop"); - if (areaShopPlugin instanceof AreaShop) { - areaShop = (AreaShop) areaShopPlugin; - } - - if (hasWorldGuard()) { - WorldGuardWrapper.getInstance().registerEvents(this); - } - - if (hasPlotSquared()) { - PlotSquaredShopFlag.register(this); - } - } - - private void loadMetrics() { - debug("Initializing Metrics..."); - - Metrics metrics = new Metrics(this); - metrics.addCustomChart(new Metrics.SimplePie("creative_setting", () -> Config.creativeSelectItem ? "Enabled" : "Disabled")); - metrics.addCustomChart(new Metrics.SimplePie("database_type", () -> Config.databaseType.toString())); - metrics.addCustomChart(new Metrics.AdvancedPie("shop_type", () -> { - int normal = 0; - int admin = 0; - - for (Shop shop : shopUtils.getShops()) { - if (shop.getShopType() == ShopType.NORMAL) normal++; - else if (shop.getShopType() == ShopType.ADMIN) admin++; - } - - Map result = new HashMap<>(); - - result.put("Admin", admin); - result.put("Normal", normal); - - return result; - })); - } - - private void initDatabase() { - if (Config.databaseType == Database.DatabaseType.SQLite) { - debug("Using database type: SQLite"); - getLogger().info("Using SQLite"); - database = new SQLite(this); - } else { - debug("Using database type: MySQL"); - getLogger().info("Using MySQL"); - database = new MySQL(this); - if (Config.databaseMySqlPingInterval > 0) { - Bukkit.getScheduler().runTaskTimer(this, new Runnable() { - @Override - public void run() { - if (database instanceof MySQL) { - ((MySQL) database).ping(); - } - } - }, Config.databaseMySqlPingInterval * 20L, Config.databaseMySqlPingInterval * 20L); - } - } - } - - private void checkForUpdates() { - if (!Config.enableUpdateChecker) { - return; - } - - new BukkitRunnable() { - @Override - public void run() { - UpdateChecker uc = new UpdateChecker(ShopChest.this); - UpdateCheckerResult result = uc.check(); - - switch (result) { - case TRUE: - latestVersion = uc.getVersion(); - downloadLink = uc.getLink(); - isUpdateNeeded = true; - - getLogger().warning(String.format("Version %s is available! You are running version %s.", - latestVersion, getDescription().getVersion())); - - for (Player p : getServer().getOnlinePlayers()) { - if (p.hasPermission(Permissions.UPDATE_NOTIFICATION)) { - Utils.sendUpdateMessage(ShopChest.this, p); - } - } - break; - - case FALSE: - latestVersion = ""; - downloadLink = ""; - isUpdateNeeded = false; - break; - - case ERROR: - latestVersion = ""; - downloadLink = ""; - isUpdateNeeded = false; - getLogger().severe("An error occurred while checking for updates."); - break; - } - } - }.runTaskAsynchronously(this); - } - - private void registerListeners() { - debug("Registering listeners..."); - getServer().getPluginManager().registerEvents(new ShopUpdateListener(this), this); - getServer().getPluginManager().registerEvents(new ShopItemListener(this), this); - getServer().getPluginManager().registerEvents(new ShopInteractListener(this), this); - getServer().getPluginManager().registerEvents(new NotifyPlayerOnJoinListener(this), this); - getServer().getPluginManager().registerEvents(new ChestProtectListener(this), this); - getServer().getPluginManager().registerEvents(new CreativeModeListener(this), this); - - if (!Utils.getServerVersion().equals("v1_8_R1")) { - getServer().getPluginManager().registerEvents(new BlockExplodeListener(this), this); - } - - if (hasWorldGuard()) { - getServer().getPluginManager().registerEvents(new WorldGuardListener(this), this); - - if (hasAreaShop()) { - getServer().getPluginManager().registerEvents(new AreaShopListener(this), this); - } - } - } - - private void registerExternalListeners() { - if (hasASkyBlock()) - getServer().getPluginManager().registerEvents(new ASkyBlockListener(this), this); - if (hasGriefPrevention()) - getServer().getPluginManager().registerEvents(new GriefPreventionListener(this), this); - if (hasIslandWorld()) - getServer().getPluginManager().registerEvents(new IslandWorldListener(this), this); - if (hasPlotSquared()) - getServer().getPluginManager().registerEvents(new PlotSquaredListener(this), this); - if (hasTowny()) - getServer().getPluginManager().registerEvents(new TownyListener(this), this); - if (hasUSkyBlock()) - getServer().getPluginManager().registerEvents(new USkyBlockListener(this), this); - if (hasWorldGuard()) - getServer().getPluginManager().registerEvents(new de.epiceric.shopchest.external.listeners.WorldGuardListener(this), this); - } - - /** - * Initializes the shops - */ - private void initializeShops() { - debug("Initializing Shops..."); - shopUtils.reloadShops(false, true, new Callback(this) { - @Override - public void onResult(Integer result) { - Bukkit.getServer().getPluginManager().callEvent(new ShopInitializedEvent(result)); - getLogger().info("Initialized " + result + " Shops"); - debug("Initialized " + result + " Shops"); - } - - @Override - public void onError(Throwable throwable) { - // Database connection probably failed => disable plugin to prevent more errors - getLogger().severe("No database access. Disabling ShopChest"); - if (throwable != null) getLogger().severe(throwable.getMessage()); - getServer().getPluginManager().disablePlugin(ShopChest.this); - } - }); - } - - /** - * Print a message to the /plugins/ShopChest/debug.txt file - * @param message Message to print - */ - public void debug(String message) { - if (Config.enableDebugLog && fw != null) { - try { - Calendar c = Calendar.getInstance(); - String timestamp = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(c.getTime()); - fw.write(String.format("[%s] %s\r\n", timestamp, message)); - fw.flush(); - } catch (IOException e) { - getLogger().severe("Failed to print debug message."); - e.printStackTrace(); - } - } - } - - /** - * Print a {@link Throwable}'s stacktrace to the /plugins/ShopChest/debug.txt file - * @param throwable {@link Throwable} whose stacktrace will be printed - */ - public void debug(Throwable throwable) { - if (Config.enableDebugLog && fw != null) { - PrintWriter pw = new PrintWriter(fw); - throwable.printStackTrace(pw); - pw.flush(); - } - } - - /** - * @return A thread pool for executing shop creation tasks - */ - public ExecutorService getShopCreationThreadPool() { - return shopCreationThreadPool; - } - - public HologramFormat getHologramFormat() { - return hologramFormat; - } - - public ShopCommand getShopCommand() { - return shopCommand; - } - - /** - * @return The {@link ShopUpdater} that schedules hologram and item updates - */ - public ShopUpdater getUpdater() { - return updater; - } - - /** - * @return Whether the plugin 'AreaShop' is enabled - */ - public boolean hasAreaShop() { - return areaShop != null && areaShop.isEnabled(); - } - - /** - * @return Whether the plugin 'GriefPrevention' is enabled - */ - public boolean hasGriefPrevention() { - return griefPrevention != null && griefPrevention.isEnabled(); - } - - /** - * @return An instance of {@link GriefPrevention} or {@code null} if GriefPrevention is not enabled - */ - public GriefPrevention getGriefPrevention() { - return griefPrevention; - } - - /** - * @return Whether the plugin 'IslandWorld' is enabled - */ - public boolean hasIslandWorld() { - return islandWorld != null && islandWorld.isEnabled(); - } - /** - * @return Whether the plugin 'ASkyBlock' is enabled - */ - public boolean hasASkyBlock() { - return aSkyBlock != null && aSkyBlock.isEnabled(); - } - - /** - * @return Whether the plugin 'uSkyBlock' is enabled - */ - public boolean hasUSkyBlock() { - return uSkyBlock != null && uSkyBlock.isEnabled(); - } - - /** - * @return An instance of {@link uSkyBlockAPI} or {@code null} if uSkyBlock is not enabled - */ - public uSkyBlockAPI getUSkyBlock() { - return uSkyBlock; - } - - /** - * @return Whether the plugin 'PlotSquared' is enabled - */ - public boolean hasPlotSquared() { - if (Utils.getMajorVersion() < 13) { - // Supported PlotSquared versions don't support versions below 1.13 - return false; - } - Plugin p = getServer().getPluginManager().getPlugin("PlotSquared"); - return p != null && p.isEnabled(); - } - - /** - * @return Whether the plugin 'AuthMe' is enabled - */ - public boolean hasAuthMe() { - return authMe != null && authMe.isEnabled(); - } - /** - * @return Whether the plugin 'Towny' is enabled - */ - public boolean hasTowny() { - return towny != null && towny.isEnabled(); - } - - /** - * @return Whether the plugin 'WorldGuard' is enabled - */ - public boolean hasWorldGuard() { - return worldGuard != null && worldGuard.isEnabled(); - } - - /** - * @return ShopChest's {@link ShopUtils} containing some important methods - */ - public ShopUtils getShopUtils() { - return shopUtils; - } - - /** - * @return Registered Economy of Vault - */ - public Economy getEconomy() { - return econ; - } - - /** - * @return ShopChest's shop database - */ - public Database getShopDatabase() { - return database; - } - - /** - * @return Whether an update is needed (will return false if not checked) - */ - public boolean isUpdateNeeded() { - return isUpdateNeeded; - } - - /** - * Set whether an update is needed - * @param isUpdateNeeded Whether an update should be needed - */ - public void setUpdateNeeded(boolean isUpdateNeeded) { - this.isUpdateNeeded = isUpdateNeeded; - } - - /** - * @return The latest version of ShopChest (will return null if not checked or if no update is available) - */ - public String getLatestVersion() { - return latestVersion; - } - - /** - * Set the latest version - * @param latestVersion Version to set as latest version - */ - public void setLatestVersion(String latestVersion) { - this.latestVersion = latestVersion; - } - - /** - * @return The download link of the latest version (will return null if not checked or if no update is available) - */ - public String getDownloadLink() { - return downloadLink; - } - - /** - * Set the download Link of the latest version (will return null if not checked or if no update is available) - * @param downloadLink Link to set as Download Link - */ - public void setDownloadLink(String downloadLink) { - this.downloadLink = downloadLink; - } - - /** - * @return The {@link Config} of ShopChest - */ - public Config getShopChestConfig() { - return config; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommand.java b/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommand.java deleted file mode 100644 index 619c112..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommand.java +++ /dev/null @@ -1,311 +0,0 @@ -package de.epiceric.shopchest.command; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.ClickType.SelectClickType; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.command.*; -import org.bukkit.entity.Player; -import org.bukkit.permissions.PermissionAttachmentInfo; -import org.bukkit.plugin.Plugin; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; - -public class ShopCommand { - - private static boolean commandCreated = false; - - private ShopChest plugin; - private String name; - private PluginCommand pluginCommand; - private ShopCommandExecutor executor; - - private List subCommands = new ArrayList<>(); - - public ShopCommand(final ShopChest plugin) { - if (commandCreated) { - IllegalStateException e = new IllegalStateException("Command has already been registered"); - plugin.debug(e); - throw e; - } - - this.plugin = plugin; - this.name = Config.mainCommandName; - this.pluginCommand = createPluginCommand(); - this.executor = new ShopCommandExecutor(plugin); - - ShopTabCompleter tabCompleter = new ShopTabCompleter(plugin); - - final Replacement cmdReplacement = new Replacement(Placeholder.COMMAND, name); - - addSubCommand(new ShopSubCommand("create", true, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - boolean receiveCreateMessage = sender.hasPermission(Permissions.CREATE); - if (!receiveCreateMessage) { - for (PermissionAttachmentInfo permInfo : sender.getEffectivePermissions()) { - String perm = permInfo.getPermission(); - if (perm.startsWith(Permissions.CREATE) && sender.hasPermission(perm)) { - receiveCreateMessage = true; - break; - } - } - } - - if (sender.hasPermission(Permissions.CREATE_ADMIN)) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_CREATE_ADMIN, cmdReplacement); - } else if (receiveCreateMessage) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_CREATE, cmdReplacement); - } - - return ""; - } - }); - - addSubCommand(new ShopSubCommand("remove", true, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_REMOVE, cmdReplacement); - } - }); - - addSubCommand(new ShopSubCommand("info", true, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_INFO, cmdReplacement); - } - }); - - addSubCommand(new ShopSubCommand("limits", true, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_LIMITS, cmdReplacement); - } - }); - - addSubCommand(new ShopSubCommand("open", true, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_OPEN, cmdReplacement); - } - }); - - addSubCommand(new ShopSubCommand("removeall", false, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - if (sender.hasPermission(Permissions.REMOVE_OTHER)) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_REMOVEALL, cmdReplacement); - } else { - return ""; - } - } - }); - - addSubCommand(new ShopSubCommand("reload", false, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - if (sender.hasPermission(Permissions.RELOAD)) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_RELOAD, cmdReplacement); - } else { - return ""; - } - } - }); - - addSubCommand(new ShopSubCommand("update", false, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - if (sender.hasPermission(Permissions.UPDATE)) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_UPDATE, cmdReplacement); - } else { - return ""; - } - } - }); - - addSubCommand(new ShopSubCommand("config", false, executor, tabCompleter) { - @Override - public String getHelpMessage(CommandSender sender) { - if (sender.hasPermission(Permissions.CONFIG)) { - return LanguageUtils.getMessage(Message.COMMAND_DESC_CONFIG, cmdReplacement); - } else { - return ""; - } - } - }); - - register(); - commandCreated = true; - } - - public PluginCommand getCommand() { - return pluginCommand; - } - - /** - * Call the second part of the create method after the player - * has selected an item from the creative inventory. - */ - public void createShopAfterSelected(Player player, SelectClickType clickType) { - executor.create2(player, clickType); - } - - private PluginCommand createPluginCommand() { - plugin.debug("Creating plugin command"); - try { - Constructor c = PluginCommand.class.getDeclaredConstructor(String.class, Plugin.class); - c.setAccessible(true); - - PluginCommand cmd = c.newInstance(name, plugin); - cmd.setDescription("Manage players' shops or this plugin."); - cmd.setUsage("/" + name); - cmd.setExecutor(new ShopBaseCommandExecutor()); - cmd.setTabCompleter(new ShopBaseTabCompleter()); - - return cmd; - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | InstantiationException e) { - plugin.getLogger().severe("Failed to create command"); - plugin.debug("Failed to create plugin command"); - plugin.debug(e); - } - - return null; - } - - public void addSubCommand(ShopSubCommand subCommand) { - plugin.debug("Adding sub command \"" + subCommand.getName() + "\""); - this.subCommands.add(subCommand); - } - - public List getSubCommands() { - return new ArrayList<>(subCommands); - } - - private void register() { - if (pluginCommand == null) return; - - plugin.debug("Registering command " + name); - - try { - Field f = Bukkit.getPluginManager().getClass().getDeclaredField("commandMap"); - f.setAccessible(true); - - Object commandMapObject = f.get(Bukkit.getPluginManager()); - if (commandMapObject instanceof CommandMap) { - CommandMap commandMap = (CommandMap) commandMapObject; - commandMap.register(plugin.getName(), pluginCommand); - } - } catch (NoSuchFieldException | IllegalAccessException e) { - plugin.getLogger().severe("Failed to register command"); - plugin.debug("Failed to register plugin command"); - plugin.debug(e); - } - } - - /** - * Sends the basic help message - * - * @param sender {@link CommandSender} who will receive the message - */ - private void sendBasicHelpMessage(CommandSender sender) { - plugin.debug("Sending basic help message to " + sender.getName()); - - sender.sendMessage(" "); - String header = LanguageUtils.getMessage(Message.COMMAND_DESC_HEADER, - new Replacement(Placeholder.COMMAND, Config.mainCommandName)); - - if (!header.trim().isEmpty()) sender.sendMessage(header); - - for (ShopSubCommand subCommand : subCommands) { - String msg = subCommand.getHelpMessage(sender); - if (msg == null || msg.isEmpty()) { - continue; - } - - sender.sendMessage(msg); - } - - String footer = LanguageUtils.getMessage(Message.COMMAND_DESC_FOOTER, - new Replacement(Placeholder.COMMAND,Config.mainCommandName)); - - if (!footer.trim().isEmpty()) sender.sendMessage(footer); - sender.sendMessage(" "); - } - - private class ShopBaseCommandExecutor implements CommandExecutor { - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - if (args.length > 0) { - for (ShopSubCommand subCommand : subCommands) { - if (subCommand.getName().equalsIgnoreCase(args[0])) { - if (!(sender instanceof Player) && subCommand.isPlayerCommand()) { - sender.sendMessage(ChatColor.RED + "Only players can use this command."); - return true; - } - - if (!subCommand.execute(sender, command, label, args)) { - sendBasicHelpMessage(sender); - } - - return true; - } - } - - sendBasicHelpMessage(sender); - } else { - sendBasicHelpMessage(sender); - } - - return true; - } - } - - private class ShopBaseTabCompleter implements TabCompleter { - - @Override - public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { - List subCommandNames = new ArrayList<>(); - - List tabCompletions = new ArrayList<>(); - - for (ShopSubCommand subCommand : subCommands) { - subCommandNames.add(subCommand.getName()); - } - - if (args.length == 1) { - if (!args[0].isEmpty()) { - for (String s : subCommandNames) { - if (s.startsWith(args[0])) { - tabCompletions.add(s); - } - } - return tabCompletions; - } else { - return subCommandNames; - } - } else if (args.length > 1) { - for (ShopSubCommand subCmd : subCommands) { - if (subCmd.getName().equalsIgnoreCase(args[0])) { - return subCmd.getTabCompletions(sender, command, label, args); - } - } - } - - return new ArrayList<>(); - } - - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommandExecutor.java b/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommandExecutor.java deleted file mode 100644 index 928693f..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/command/ShopCommandExecutor.java +++ /dev/null @@ -1,538 +0,0 @@ -package de.epiceric.shopchest.command; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.event.ShopPreCreateEvent; -import de.epiceric.shopchest.event.ShopPreInfoEvent; -import de.epiceric.shopchest.event.ShopPreOpenEvent; -import de.epiceric.shopchest.event.ShopPreRemoveEvent; -import de.epiceric.shopchest.event.ShopReloadEvent; -import de.epiceric.shopchest.event.ShopRemoveAllEvent; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.shop.ShopProduct; -import de.epiceric.shopchest.shop.Shop.ShopType; -import de.epiceric.shopchest.utils.Callback; -import de.epiceric.shopchest.utils.ClickType; -import de.epiceric.shopchest.utils.ItemUtils; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.ShopUtils; -import de.epiceric.shopchest.utils.UpdateChecker; -import de.epiceric.shopchest.utils.Utils; -import de.epiceric.shopchest.utils.ClickType.CreateClickType; -import de.epiceric.shopchest.utils.ClickType.SelectClickType; - -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.OfflinePlayer; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -import java.util.ArrayList; -import java.util.List; - -class ShopCommandExecutor implements CommandExecutor { - - private ShopChest plugin; - private ShopUtils shopUtils; - - ShopCommandExecutor(ShopChest plugin) { - this.plugin = plugin; - this.shopUtils = plugin.getShopUtils(); - } - - @Override - public boolean onCommand(CommandSender sender, Command command, String s, String[] args) { - List subCommands = plugin.getShopCommand().getSubCommands(); - - if (args.length > 0) { - String _subCommand = args[0]; - ShopSubCommand subCommand = null; - - for (ShopSubCommand shopSubCommand : subCommands) { - if (shopSubCommand.getName().equalsIgnoreCase(_subCommand)) { - subCommand = shopSubCommand; - break; - } - } - - if (subCommand == null) { - return false; - } - - if (subCommand.getName().equalsIgnoreCase("reload")) { - if (sender.hasPermission(Permissions.RELOAD)) { - reload(sender); - } else { - sender.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_RELOAD)); - } - } else if (subCommand.getName().equalsIgnoreCase("update")) { - if (sender.hasPermission(Permissions.UPDATE)) { - checkUpdates(sender); - } else { - sender.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_UPDATE)); - } - } else if (subCommand.getName().equalsIgnoreCase("config")) { - if (sender.hasPermission(Permissions.CONFIG)) { - return args.length >= 4 && changeConfig(sender, args); - } else { - sender.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CONFIG)); - } - } else if (subCommand.getName().equalsIgnoreCase("removeall")) { - if (sender.hasPermission(Permissions.REMOVE_OTHER)) { - if (args.length >= 2) { - removeAll(sender, args); - } else { - return false; - } - } else { - sender.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_REMOVE_OTHERS)); - } - } else { - if (sender instanceof Player) { - Player p = (Player) sender; - - if (subCommand.getName().equalsIgnoreCase("create")) { - if (args.length == 4) { - create(args, Shop.ShopType.NORMAL, p); - } else if (args.length == 5) { - if (args[4].equalsIgnoreCase("normal")) { - create(args, Shop.ShopType.NORMAL, p); - } else if (args[4].equalsIgnoreCase("admin")) { - if (p.hasPermission(Permissions.CREATE_ADMIN)) { - create(args, Shop.ShopType.ADMIN, p); - } else { - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CREATE_ADMIN)); - } - } else { - return false; - } - } else { - return false; - } - } else if (subCommand.getName().equalsIgnoreCase("remove")) { - remove(p); - } else if (subCommand.getName().equalsIgnoreCase("info")) { - info(p); - } else if (subCommand.getName().equalsIgnoreCase("limits")) { - plugin.debug(p.getName() + " is viewing his shop limits: " + shopUtils.getShopAmount(p) + "/" + shopUtils.getShopLimit(p)); - int limit = shopUtils.getShopLimit(p); - p.sendMessage(LanguageUtils.getMessage(Message.OCCUPIED_SHOP_SLOTS, - new Replacement(Placeholder.LIMIT, (limit < 0 ? "∞" : String.valueOf(limit))), - new Replacement(Placeholder.AMOUNT, String.valueOf(shopUtils.getShopAmount(p))))); - } else if (subCommand.getName().equalsIgnoreCase("open")) { - open(p); - } else { - return false; - } - } - } - - return true; - } - - return false; - } - - /** - * A given player checks for updates - * @param sender The command executor - */ - private void checkUpdates(CommandSender sender) { - plugin.debug(sender.getName() + " is checking for updates"); - - sender.sendMessage(LanguageUtils.getMessage(Message.UPDATE_CHECKING)); - - UpdateChecker uc = new UpdateChecker(plugin); - UpdateChecker.UpdateCheckerResult result = uc.check(); - - if (result == UpdateChecker.UpdateCheckerResult.TRUE) { - plugin.setLatestVersion(uc.getVersion()); - plugin.setDownloadLink(uc.getLink()); - plugin.setUpdateNeeded(true); - - if (sender instanceof Player) { - Utils.sendUpdateMessage(plugin, (Player) sender); - } else { - sender.sendMessage(LanguageUtils.getMessage(Message.UPDATE_AVAILABLE, new Replacement(Placeholder.VERSION, uc.getVersion()))); - } - - } else if (result == UpdateChecker.UpdateCheckerResult.FALSE) { - plugin.setLatestVersion(""); - plugin.setDownloadLink(""); - plugin.setUpdateNeeded(false); - sender.sendMessage(LanguageUtils.getMessage(Message.UPDATE_NO_UPDATE)); - } else { - plugin.setLatestVersion(""); - plugin.setDownloadLink(""); - plugin.setUpdateNeeded(false); - sender.sendMessage(LanguageUtils.getMessage(Message.UPDATE_ERROR)); - } - } - - /** - * A given player reloads the shops - * @param sender The command executor - */ - private void reload(final CommandSender sender) { - plugin.debug(sender.getName() + " is reloading the shops"); - - ShopReloadEvent event = new ShopReloadEvent(sender); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()){ - plugin.debug("Reload event cancelled"); - return; - } - - shopUtils.reloadShops(true, true, new Callback(plugin) { - @Override - public void onResult(Integer result) { - sender.sendMessage(LanguageUtils.getMessage(Message.RELOADED_SHOPS, - new Replacement(Placeholder.AMOUNT, String.valueOf(result)))); - plugin.debug(sender.getName() + " has reloaded " + result + " shops"); - } - - @Override - public void onError(Throwable throwable) { - // Database connection probably failed => disable plugin to prevent more errors - sender.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, - new Replacement(Placeholder.ERROR, "No database access: Disabling ShopChest"))); - plugin.getLogger().severe("No database access: Disabling ShopChest"); - if (throwable != null) plugin.getLogger().severe(throwable.getMessage()); - plugin.getServer().getPluginManager().disablePlugin(plugin); - } - }); - } - - /** - * A given player creates a shop - * @param args Arguments of the entered command - * @param shopType The {@link Shop.ShopType}, the shop will have - * @param p The command executor - */ - private void create(String[] args, Shop.ShopType shopType, final Player p) { - plugin.debug(p.getName() + " wants to create a shop"); - - int amount; - double buyPrice, sellPrice; - - // Check if amount and prices are valid - try { - amount = Integer.parseInt(args[1]); - buyPrice = Double.parseDouble(args[2]); - sellPrice = Double.parseDouble(args[3]); - } catch (NumberFormatException e) { - p.sendMessage(LanguageUtils.getMessage(Message.AMOUNT_PRICE_NOT_NUMBER)); - plugin.debug(p.getName() + " has entered an invalid amount and/or prices"); - return; - } - - if (!Utils.hasPermissionToCreateShop(p, Utils.getPreferredItemInHand(p), buyPrice > 0, sellPrice > 0)) { - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CREATE)); - plugin.debug(p.getName() + " is not permitted to create the shop"); - return; - } - - // Check for limits - int limit = shopUtils.getShopLimit(p); - if (limit != -1) { - if (shopUtils.getShopAmount(p) >= limit) { - if (shopType != Shop.ShopType.ADMIN) { - p.sendMessage(LanguageUtils.getMessage(Message.SHOP_LIMIT_REACHED, new Replacement(Placeholder.LIMIT, String.valueOf(limit)))); - plugin.debug(p.getName() + " has reached the limit"); - return; - } - } - } - - if (amount <= 0) { - p.sendMessage(LanguageUtils.getMessage(Message.AMOUNT_IS_ZERO)); - plugin.debug(p.getName() + " has entered an invalid amount"); - return; - } - - if (!Config.allowDecimalsInPrice && (buyPrice != (int) buyPrice || sellPrice != (int) sellPrice)) { - p.sendMessage(LanguageUtils.getMessage(Message.PRICES_CONTAIN_DECIMALS)); - plugin.debug(p.getName() + " has entered an invalid price"); - return; - } - - boolean buyEnabled = buyPrice > 0; - boolean sellEnabled = sellPrice > 0; - - if (!buyEnabled && !sellEnabled) { - p.sendMessage(LanguageUtils.getMessage(Message.BUY_SELL_DISABLED)); - plugin.debug(p.getName() + " has disabled buying and selling"); - return; - } - - ItemStack inHand = Utils.getPreferredItemInHand(p); - - // Check if item in hand - if (inHand == null) { - plugin.debug(p.getName() + " does not have an item in his hand"); - - if (!Config.creativeSelectItem) { - p.sendMessage(LanguageUtils.getMessage(Message.NO_ITEM_IN_HAND)); - return; - } - - if (!(ClickType.getPlayerClickType(p) instanceof SelectClickType)) { - // Don't set previous game mode to creative if player already has select click type - ClickType.setPlayerClickType(p, new SelectClickType(p.getGameMode(), amount, buyPrice, sellPrice, shopType)); - p.setGameMode(GameMode.CREATIVE); - } - - p.sendMessage(LanguageUtils.getMessage(Message.SELECT_ITEM)); - } else { - SelectClickType ct = new SelectClickType(null, amount, buyPrice, sellPrice, shopType); - ct.setItem(inHand); - create2(p, ct); - } - } - - /** - * SHALL ONLY BE CALLED VIA {@link ShopCommand#createShopAfterSelected()} - */ - protected void create2(Player p, SelectClickType selectClickType) { - ItemStack itemStack = selectClickType.getItem(); - int amount = selectClickType.getAmount(); - double buyPrice = selectClickType.getBuyPrice(); - double sellPrice = selectClickType.getSellPrice(); - boolean buyEnabled = buyPrice > 0; - boolean sellEnabled = sellPrice > 0; - ShopType shopType = selectClickType.getShopType(); - - // Check if item on blacklist - for (String item :Config.blacklist) { - ItemStack is = ItemUtils.getItemStack(item); - - if (is == null) { - plugin.getLogger().warning("Invalid item found in blacklist: " + item); - plugin.debug("Invalid item in blacklist: " + item); - continue; - } - - if (is.getType().equals(itemStack.getType()) && is.getDurability() == itemStack.getDurability()) { - p.sendMessage(LanguageUtils.getMessage(Message.CANNOT_SELL_ITEM)); - plugin.debug(p.getName() + "'s item is on the blacklist"); - return; - } - } - - // Check if prices lower than minimum price - for (String key :Config.minimumPrices) { - ItemStack is = ItemUtils.getItemStack(key); - double minPrice = plugin.getConfig().getDouble("minimum-prices." + key); - - if (is == null) { - plugin.getLogger().warning("Invalid item found in minimum-prices: " + key); - plugin.debug("Invalid item in minimum-prices: " + key); - continue; - } - - if (is.getType().equals(itemStack.getType()) && is.getDurability() == itemStack.getDurability()) { - if (buyEnabled) { - if ((buyPrice < amount * minPrice) && (buyPrice > 0)) { - p.sendMessage(LanguageUtils.getMessage(Message.BUY_PRICE_TOO_LOW, new Replacement(Placeholder.MIN_PRICE, String.valueOf(amount * minPrice)))); - plugin.debug(p.getName() + "'s buy price is lower than the minimum"); - return; - } - } - - if (sellEnabled) { - if ((sellPrice < amount * minPrice) && (sellPrice > 0)) { - p.sendMessage(LanguageUtils.getMessage(Message.SELL_PRICE_TOO_LOW, new Replacement(Placeholder.MIN_PRICE, String.valueOf(amount * minPrice)))); - plugin.debug(p.getName() + "'s sell price is lower than the minimum"); - return; - } - } - } - } - - // Check if prices higher than maximum price - for (String key :Config.maximumPrices) { - ItemStack is = ItemUtils.getItemStack(key); - double maxPrice = plugin.getConfig().getDouble("maximum-prices." + key); - - if (is == null) { - plugin.getLogger().warning("Invalid item found in maximum-prices: " + key); - plugin.debug("Invalid item in maximum-prices: " + key); - continue; - } - - if (is.getType().equals(itemStack.getType()) && is.getDurability() == itemStack.getDurability()) { - if (buyEnabled) { - if ((buyPrice > amount * maxPrice) && (buyPrice > 0)) { - p.sendMessage(LanguageUtils.getMessage(Message.BUY_PRICE_TOO_HIGH, new Replacement(Placeholder.MAX_PRICE, String.valueOf(amount * maxPrice)))); - plugin.debug(p.getName() + "'s buy price is higher than the maximum"); - return; - } - } - - if (sellEnabled) { - if ((sellPrice > amount * maxPrice) && (sellPrice > 0)) { - p.sendMessage(LanguageUtils.getMessage(Message.SELL_PRICE_TOO_HIGH, new Replacement(Placeholder.MAX_PRICE, String.valueOf(amount * maxPrice)))); - plugin.debug(p.getName() + "'s sell price is higher than the maximum"); - return; - } - } - } - } - - - if (sellEnabled && buyEnabled) { - if (Config.buyGreaterOrEqualSell) { - if (buyPrice < sellPrice) { - p.sendMessage(LanguageUtils.getMessage(Message.BUY_PRICE_TOO_LOW, new Replacement(Placeholder.MIN_PRICE, String.valueOf(sellPrice)))); - plugin.debug(p.getName() + "'s buy price is lower than the sell price"); - return; - } - } - } - - if (Enchantment.DURABILITY.canEnchantItem(itemStack)) { - if (itemStack.getDurability() > 0 && !Config.allowBrokenItems) { - p.sendMessage(LanguageUtils.getMessage(Message.CANNOT_SELL_BROKEN_ITEM)); - plugin.debug(p.getName() + "'s item is broken"); - return; - } - } - - double creationPrice = (shopType == Shop.ShopType.NORMAL) ?Config.shopCreationPriceNormal :Config.shopCreationPriceAdmin; - if (creationPrice > 0) { - if (plugin.getEconomy().getBalance(p, p.getWorld().getName()) < creationPrice) { - p.sendMessage(LanguageUtils.getMessage(Message.SHOP_CREATE_NOT_ENOUGH_MONEY, new Replacement(Placeholder.CREATION_PRICE, String.valueOf(creationPrice)))); - plugin.debug(p.getName() + " can not pay the creation price"); - return; - } - } - - ShopProduct product = new ShopProduct(itemStack, amount); - ShopPreCreateEvent event = new ShopPreCreateEvent(p, new Shop(plugin, p, product, null, buyPrice, sellPrice, shopType)); - Bukkit.getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - ClickType.setPlayerClickType(p, new CreateClickType(product, buyPrice, sellPrice, shopType)); - plugin.debug(p.getName() + " can now click a chest"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_CHEST_CREATE)); - } else { - plugin.debug("Shop pre create event cancelled"); - } - } - - /** - * A given player removes a shop - * @param p The command executor - */ - private void remove(final Player p) { - plugin.debug(p.getName() + " wants to remove a shop"); - - ShopPreRemoveEvent event = new ShopPreRemoveEvent(p); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()) { - plugin.debug("Shop pre remove event cancelled"); - return; - } - - plugin.debug(p.getName() + " can now click a chest"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_CHEST_REMOVE)); - ClickType.setPlayerClickType(p, new ClickType(ClickType.EnumClickType.REMOVE)); - } - - /** - * A given player retrieves information about a shop - * @param p The command executor - */ - private void info(final Player p) { - plugin.debug(p.getName() + " wants to retrieve information"); - - ShopPreInfoEvent event = new ShopPreInfoEvent(p); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()) { - plugin.debug("Shop pre info event cancelled"); - return; - } - - plugin.debug(p.getName() + " can now click a chest"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_CHEST_INFO)); - ClickType.setPlayerClickType(p, new ClickType(ClickType.EnumClickType.INFO)); - } - - /** - * A given player opens a shop - * @param p The command executor - */ - private void open(final Player p) { - plugin.debug(p.getName() + " wants to open a shop"); - - ShopPreOpenEvent event = new ShopPreOpenEvent(p); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()) { - plugin.debug("Shop pre open event cancelled"); - return; - } - - plugin.debug(p.getName() + " can now click a chest"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_CHEST_OPEN)); - ClickType.setPlayerClickType(p, new ClickType(ClickType.EnumClickType.OPEN)); - } - - private boolean changeConfig(CommandSender sender, String[] args) { - plugin.debug(sender.getName() + " is changing the configuration"); - - String property = args[2]; - String value = args[3]; - - if (args[1].equalsIgnoreCase("set")) { - plugin.getShopChestConfig().set(property, value); - sender.sendMessage(LanguageUtils.getMessage(Message.CHANGED_CONFIG_SET, new Replacement(Placeholder.PROPERTY, property), new Replacement(Placeholder.VALUE, value))); - } else if (args[1].equalsIgnoreCase("add")) { - plugin.getShopChestConfig().add(property, value); - sender.sendMessage(LanguageUtils.getMessage(Message.CHANGED_CONFIG_ADDED, new Replacement(Placeholder.PROPERTY, property), new Replacement(Placeholder.VALUE, value))); - } else if (args[1].equalsIgnoreCase("remove")) { - plugin.getShopChestConfig().remove(property, value); - sender.sendMessage(LanguageUtils.getMessage(Message.CHANGED_CONFIG_REMOVED, new Replacement(Placeholder.PROPERTY, property), new Replacement(Placeholder.VALUE, value))); - } else { - return false; - } - - return true; - } - - private void removeAll(CommandSender sender, String[] args) { - OfflinePlayer vendor = Bukkit.getOfflinePlayer(args[1]); - - plugin.debug(sender.getName() + " is removing all shops of " + vendor.getName()); - - List shops = new ArrayList<>(); - - for (Shop shop : shopUtils.getShops()) { - if (shop.getVendor().getUniqueId().equals(vendor.getUniqueId())) { - shops.add(shop); - } - } - - ShopRemoveAllEvent event = new ShopRemoveAllEvent(sender, vendor, shops); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()){ - plugin.debug("Remove all event cancelled"); - return; - } - - for (Shop shop : shops) { - shopUtils.removeShop(shop, true); - } - - sender.sendMessage(LanguageUtils.getMessage(Message.ALL_SHOPS_REMOVED, - new Replacement(Placeholder.AMOUNT, String.valueOf(shops.size())), - new Replacement(Placeholder.VENDOR, vendor.getName()))); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/command/ShopSubCommand.java b/implementation/src/main/java/de/epiceric/shopchest/command/ShopSubCommand.java deleted file mode 100644 index 526b5be..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/command/ShopSubCommand.java +++ /dev/null @@ -1,68 +0,0 @@ -package de.epiceric.shopchest.command; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; - -import java.util.ArrayList; -import java.util.List; - -public abstract class ShopSubCommand { - private String name; - private boolean playerCommand; - private CommandExecutor executor; - private TabCompleter tabCompleter; - - public ShopSubCommand(String name, boolean playerCommand, CommandExecutor executor, TabCompleter tabCompleter) { - this.name = name; - this.playerCommand = playerCommand; - this.executor = executor; - this.tabCompleter = tabCompleter; - } - - public String getName() { - return name; - } - - /** - * @return Whether the command can only be used by players, not by the console - */ - public boolean isPlayerCommand() { - return playerCommand; - } - - /** - * Execute the sub command - * @param sender Sender of the command - * @param command Command which was executed - * @param args Arguments of the command ({@code args[0]} is the sub command's name) - * @param label Alias of the command which was used - * @param args Passed command arguments - * @return Whether the sender should be sent the help message - */ - public boolean execute(CommandSender sender, Command command, String label, String[] args) { - return executor.onCommand(sender, command, label, args); - } - - /** - * @param sender Sender of the command - * @param command Command which was executed - * @param label Alias of the command which was used - * @param args Arguments of the command ({@code args[0]} is the sub command's name) - * @return A list of tab completions for the sub command (may be an empty list) - */ - public List getTabCompletions(CommandSender sender, Command command, String label, String[] args) { - if (tabCompleter == null) { - return new ArrayList<>(); - } - - return tabCompleter.onTabComplete(sender, command, label, args); - } - - /** - * @param sender Sender to receive the help message - * @return The help message for the command. - */ - public abstract String getHelpMessage(CommandSender sender); -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/command/ShopTabCompleter.java b/implementation/src/main/java/de/epiceric/shopchest/command/ShopTabCompleter.java deleted file mode 100644 index a50d6ac..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/command/ShopTabCompleter.java +++ /dev/null @@ -1,110 +0,0 @@ -package de.epiceric.shopchest.command; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; - -class ShopTabCompleter implements TabCompleter { - - private ShopChest plugin; - - ShopTabCompleter(ShopChest plugin) { - this.plugin = plugin; - } - - @Override - public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { - if (command.getName().equalsIgnoreCase(Config.mainCommandName)) { - - List createSubCommands = Arrays.asList("admin", "normal"); - List configSubCommands = Arrays.asList("add", "remove", "set"); - List areaShopRemoveEvents = Arrays.asList("DELETE", "RESELL", "SELL", "UNRENT"); - List townyShopPlots = Arrays.asList("ARENA", "COMMERCIAL", "EMBASSY", "FARM", "INN", "JAIL", "RESIDENTIAL", "SPLEEF", "WILDS"); - - Set configValues = plugin.getConfig().getKeys(true); - - ArrayList returnCompletions = new ArrayList<>(); - - if (args.length == 2) { - if (args[0].equals("config")) { - if (!args[1].equals("")) { - for (String s : configSubCommands) { - if (s.startsWith(args[1])) { - returnCompletions.add(s); - } - } - - return returnCompletions; - } else { - return configSubCommands; - } - } - } else if (args.length == 3) { - if (args[0].equals("config")) { - if (!args[2].equals("")) { - for (String s : configValues) { - if (s.startsWith(args[2])) { - returnCompletions.add(s); - } - } - - return returnCompletions; - } else { - return new ArrayList<>(configValues); - } - } - } else if (args.length == 4) { - if (args[0].equals("config")) { - if (args[2].equals("towny-shop-plots")) { - if (!args[3].equals("")) { - for (String s : townyShopPlots) { - if (s.startsWith(args[3])) { - returnCompletions.add(s); - } - } - - return returnCompletions; - } else { - return townyShopPlots; - } - } else if (args[2].equals("areashop-remove-shops")) { - if (!args[3].equals("")) { - for (String s : areaShopRemoveEvents) { - if (s.startsWith(args[3])) { - returnCompletions.add(s); - } - } - - return returnCompletions; - } else { - return areaShopRemoveEvents; - } - } - } - } else if (args.length == 5) { - if (args[0].equals("create")) { - if (!args[4].equals("")) { - for (String s : createSubCommands) { - if (s.startsWith(args[4])) { - returnCompletions.add(s); - } - } - - return returnCompletions; - } else { - return createSubCommands; - } - } - } - } - - return new ArrayList<>(); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/config/Config.java b/implementation/src/main/java/de/epiceric/shopchest/config/Config.java deleted file mode 100644 index ea8f092..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/config/Config.java +++ /dev/null @@ -1,602 +0,0 @@ -package de.epiceric.shopchest.config; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.sql.Database; -import de.epiceric.shopchest.utils.ItemUtils; -import de.epiceric.shopchest.utils.Utils; - -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.inventory.ItemStack; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.Reader; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class Config { - - /** - * The item with which a player can click a shop to retrieve information - **/ - public static ItemStack shopInfoItem; - - /** - * The default value for the custom WorldGuard flag 'create-shop' - **/ - public static boolean wgAllowCreateShopDefault; - - /** - * The default value for the custom WorldGuard flag 'use-admin-shop' - **/ - public static boolean wgAllowUseAdminShopDefault; - - /** - * The default value for the custom WorldGuard flag 'use-shop' - **/ - public static boolean wgAllowUseShopDefault; - - /** - * The types of town plots residents are allowed to create shops in - **/ - public static List townyShopPlotsResidents; - - /** - * The types of town plots the mayor is allowed to create shops in - **/ - public static List townyShopPlotsMayor; - - /** - * The types of town plots the king is allowed to create shops in - **/ - public static List townyShopPlotsKing; - - /** - * The events of AreaShop when shops in that region should be removed - **/ - public static List areashopRemoveShopEvents; - - /** - * The hostname used in ShopChest's MySQL database - **/ - public static String databaseMySqlHost; - - /** - * The port used for ShopChest's MySQL database - **/ - public static int databaseMySqlPort; - - /** - * The database used for ShopChest's MySQL database - **/ - public static String databaseMySqlDatabase; - - /** - * The username used in ShopChest's MySQL database - **/ - public static String databaseMySqlUsername; - - /** - * The password used in ShopChest's MySQL database - **/ - public static String databaseMySqlPassword; - - /** - * The prefix to be used for database tables - */ - public static String databaseTablePrefix; - - /** - * The database type used for ShopChest - **/ - public static Database.DatabaseType databaseType; - - /** - * The interval in seconds, a ping is sent to the MySQL server - **/ - public static int databaseMySqlPingInterval; - - /** - *

The minimum prices for certain items

- * This returns a key set, which contains e.g "STONE", "STONE:1", of the minimum-prices section in ShopChest's config. - * To actually retrieve the minimum price for an item, you have to get the double {@code minimum-prices.}. - **/ - public static Set minimumPrices; - - /** - *

The maximum prices for certain items

- * This returns a key set, which contains e.g "STONE", "STONE:1", of the {@code maximum-prices} section in ShopChest's config. - * To actually retrieve the maximum price for an item, you have to get the double {@code maximum-prices.}. - **/ - public static Set maximumPrices; - - /** - *

List containing items, of which players can't create a shop

- * If this list contains an item (e.g "STONE", "STONE:1"), it's in the blacklist. - **/ - public static List blacklist; - - /** - * Whether prices may contain decimals - **/ - public static boolean allowDecimalsInPrice; - - /** - * Whether the buy price of a shop must be greater than or equal the sell price - **/ - public static boolean buyGreaterOrEqualSell; - - /** - * Whether buys and sells must be confirmed - **/ - public static boolean confirmShopping; - - /** - * Whether the shop creation price should be refunded at removal. - */ - public static boolean refundShopCreation; - - /** - *

Whether the update checker should run on start and notify players on join.

- * The command is not affected by this setting and will continue to check for updates. - **/ - public static boolean enableUpdateChecker; - - /** - * Whether the debug log file should be created - **/ - public static boolean enableDebugLog; - - /** - * Whether buys and sells should be logged in the database - **/ - public static boolean enableEconomyLog; - - /** - * Whether WorldGuard integration should be enabled - **/ - public static boolean enableWorldGuardIntegration; - - /** - *

Sets the time limit for cleaning up the economy log in days

- * - * If this equals to {@code 0}, the economy log will not be cleaned. - **/ - public static int cleanupEconomyLogDays; - - /** - * Whether Towny integration should be enabled - **/ - public static boolean enableTownyIntegration; - - /** - * Whether AuthMe integration should be enabled - **/ - public static boolean enableAuthMeIntegration; - - /** - * Whether PlotSquared integration should be enabled - **/ - public static boolean enablePlotsquaredIntegration; - - /** - * Whether uSkyBlock integration should be enabled - **/ - public static boolean enableUSkyblockIntegration; - - /** - * Whether ASkyBlock integration should be enabled - **/ - public static boolean enableASkyblockIntegration; - - /** - * Whether IslandWorld integration should be enabled - **/ - public static boolean enableIslandWorldIntegration; - - /** - * Whether GriefPrevention integration should be enabled - **/ - public static boolean enableGriefPreventionIntegration; - - /** - * Whether AreaShop integration should be enabled - **/ - public static boolean enableAreaShopIntegration; - - /** - * Whether the vendor of the shop should get messages about buys and sells - **/ - public static boolean enableVendorMessages; - - /** - * Whether the extension of a potion or tipped arrow (if available) should be appended to the item name. - **/ - public static boolean appendPotionLevelToItemName; - - /** - * Whether players are allowed to sell/buy broken items - **/ - public static boolean allowBrokenItems; - - /** - * Whether only the shop a player is pointing at should be shown - **/ - public static boolean onlyShowShopsInSight; - - /** - *

Whether shops should automatically be removed from the database if an error occurred while loading

- * (e.g. when no chest is found at a shop's location) - */ - public static boolean removeShopOnError; - - /** - * Whether the item amount should be calculated to fit the available money or inventory space - **/ - public static boolean autoCalculateItemAmount; - - /** - * Whether players should be able to select an item from the creative inventory - */ - public static boolean creativeSelectItem; - - /** - *

Whether the mouse buttons are inverted

- * Default:
- * Right-Click: Buy
- * Left-Click: Sell - **/ - public static boolean invertMouseButtons; - - /** - * Whether the hologram's location should be fixed at the bottom - **/ - public static boolean hologramFixedBottom; - - /** - * Amount every hologram should be lifted - **/ - public static double hologramLift; - - /** - * The maximum distance between a player and a shop to see the hologram - **/ - public static double maximalDistance; - - /** - * The maximum distance between a player and a shop to see the shop item - **/ - public static double maximalItemDistance; - - /** - * The price a player has to pay in order to create a normal shop - **/ - public static double shopCreationPriceNormal; - - /** - * The price a player has to pay in order to create an admin shop - **/ - public static double shopCreationPriceAdmin; - - /** - * The default shop limit for players whose limit is not set via a permission - **/ - public static int defaultLimit; - - /** - * The main command of ShopChest (default: shop) - **/ - public static String mainCommandName; - - /** - * The language file to use (e.g en_US, de_DE) - **/ - public static String languageFile; - - /** - * The language configuration of the currently selected language file - */ - public static LanguageConfiguration langConfig; - - private ShopChest plugin; - - public Config(ShopChest plugin) { - this.plugin = plugin; - - plugin.saveDefaultConfig(); - - reload(true, true, true); - } - - /** - *

Set a configuration value

- * Config is automatically reloaded - * - * @param property Property to change - * @param value Value to set - */ - public void set(String property, String value) { - boolean langChange = (property.equalsIgnoreCase("language-file")); - try { - int intValue = Integer.parseInt(value); - plugin.getConfig().set(property, intValue); - - plugin.saveConfig(); - reload(false, langChange, false); - - return; - } catch (NumberFormatException e) { /* Value not an integer */ } - - try { - double doubleValue = Double.parseDouble(value); - plugin.getConfig().set(property, doubleValue); - - plugin.saveConfig(); - reload(false, langChange, false); - - return; - } catch (NumberFormatException e) { /* Value not a double */ } - - if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) { - boolean boolValue = Boolean.parseBoolean(value); - plugin.getConfig().set(property, boolValue); - } else { - plugin.getConfig().set(property, value); - } - - plugin.saveConfig(); - - reload(false, langChange, false); - } - - /** - * Add a value to a list in the config.yml. - * If the list does not exist, a new list with the given value will be created - * - * @param property Location of the list - * @param value Value to add - */ - public void add(String property, String value) { - List list = (plugin.getConfig().getList(property) == null) ? new ArrayList<>() : plugin.getConfig().getList(property); - - try { - int intValue = Integer.parseInt(value); - list.add(intValue); - - plugin.saveConfig(); - reload(false, false, false); - - return; - } catch (NumberFormatException e) { /* Value not an integer */ } - - try { - double doubleValue = Double.parseDouble(value); - list.add(doubleValue); - - plugin.saveConfig(); - reload(false, false, false); - - return; - } catch (NumberFormatException e) { /* Value not a double */ } - - if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) { - boolean boolValue = Boolean.parseBoolean(value); - list.add(boolValue); - } else { - list.add(value); - } - - plugin.saveConfig(); - - reload(false, false, false); - } - - public void remove(String property, String value) { - List list = (plugin.getConfig().getList(property) == null) ? new ArrayList<>() : plugin.getConfig().getList(property); - - try { - int intValue = Integer.parseInt(value); - list.remove(intValue); - - plugin.saveConfig(); - reload(false, false, false); - - return; - } catch (NumberFormatException e) { /* Value not an integer */ } - - try { - double doubleValue = Double.parseDouble(value); - list.remove(doubleValue); - - plugin.saveConfig(); - reload(false, false, false); - - return; - } catch (NumberFormatException e) { /* Value not a double */ } - - if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) { - boolean boolValue = Boolean.parseBoolean(value); - list.remove(boolValue); - } else { - list.remove(value); - } - - plugin.saveConfig(); - - reload(false, false, false); - } - - /** - * Reload the configuration values from config.yml - * @param firstLoad Whether the config values have not been loaded before - * @param langReload Whether the language configuration should be reloaded - * @param showMessages Whether console (error) messages should be shown - */ - public void reload(boolean firstLoad, boolean langReload, boolean showMessages) { - plugin.reloadConfig(); - - shopInfoItem = ItemUtils.getItemStack(plugin.getConfig().getString("shop-info-item")); - wgAllowCreateShopDefault = plugin.getConfig().getBoolean("worldguard-default-flag-values.create-shop"); - wgAllowUseAdminShopDefault = plugin.getConfig().getBoolean("worldguard-default-flag-values.use-admin-shop"); - wgAllowUseShopDefault = plugin.getConfig().getBoolean("worldguard-default-flag-values.use-shop"); - townyShopPlotsResidents = plugin.getConfig().getStringList("towny-shop-plots.residents"); - townyShopPlotsMayor = plugin.getConfig().getStringList("towny-shop-plots.mayor"); - townyShopPlotsKing = plugin.getConfig().getStringList("towny-shop-plots.king"); - areashopRemoveShopEvents = plugin.getConfig().getStringList("areashop-remove-shops"); - databaseMySqlPingInterval = plugin.getConfig().getInt("database.mysql.ping-interval"); - databaseMySqlHost = plugin.getConfig().getString("database.mysql.hostname"); - databaseMySqlPort = plugin.getConfig().getInt("database.mysql.port"); - databaseMySqlDatabase = plugin.getConfig().getString("database.mysql.database"); - databaseMySqlUsername = plugin.getConfig().getString("database.mysql.username"); - databaseMySqlPassword = plugin.getConfig().getString("database.mysql.password"); - databaseTablePrefix = plugin.getConfig().getString("database.table-prefix"); - databaseType = Database.DatabaseType.valueOf(plugin.getConfig().getString("database.type")); - minimumPrices = (plugin.getConfig().getConfigurationSection("minimum-prices") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("minimum-prices").getKeys(true); - maximumPrices = (plugin.getConfig().getConfigurationSection("maximum-prices") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("maximum-prices").getKeys(true); - allowDecimalsInPrice = plugin.getConfig().getBoolean("allow-decimals-in-price"); - allowBrokenItems = plugin.getConfig().getBoolean("allow-broken-items"); - autoCalculateItemAmount = (allowDecimalsInPrice && plugin.getConfig().getBoolean("auto-calculate-item-amount")); - creativeSelectItem = plugin.getConfig().getBoolean("creative-select-item"); - blacklist = (plugin.getConfig().getStringList("blacklist") == null) ? new ArrayList() : plugin.getConfig().getStringList("blacklist"); - buyGreaterOrEqualSell = plugin.getConfig().getBoolean("buy-greater-or-equal-sell"); - confirmShopping = plugin.getConfig().getBoolean("confirm-shopping"); - refundShopCreation = plugin.getConfig().getBoolean("refund-shop-creation"); - enableUpdateChecker = plugin.getConfig().getBoolean("enable-update-checker"); - enableDebugLog = plugin.getConfig().getBoolean("enable-debug-log"); - enableEconomyLog = plugin.getConfig().getBoolean("enable-economy-log"); - cleanupEconomyLogDays = plugin.getConfig().getInt("cleanup-economy-log-days"); - enableWorldGuardIntegration = plugin.getConfig().getBoolean("enable-worldguard-integration"); - enableTownyIntegration = plugin.getConfig().getBoolean("enable-towny-integration"); - enableAuthMeIntegration = plugin.getConfig().getBoolean("enable-authme-integration"); - enablePlotsquaredIntegration = plugin.getConfig().getBoolean("enable-plotsquared-integration"); - enableUSkyblockIntegration = plugin.getConfig().getBoolean("enable-uskyblock-integration"); - enableASkyblockIntegration = plugin.getConfig().getBoolean("enable-askyblock-integration"); - enableIslandWorldIntegration = plugin.getConfig().getBoolean("enable-islandworld-integration"); - enableGriefPreventionIntegration = plugin.getConfig().getBoolean("enable-griefprevention-integration"); - enableAreaShopIntegration = plugin.getConfig().getBoolean("enable-areashop-integration"); - enableVendorMessages = plugin.getConfig().getBoolean("enable-vendor-messages"); - onlyShowShopsInSight = plugin.getConfig().getBoolean("only-show-shops-in-sight"); - appendPotionLevelToItemName = plugin.getConfig().getBoolean("append-potion-level-to-item-name"); - removeShopOnError = plugin.getConfig().getBoolean("remove-shop-on-error"); - invertMouseButtons = plugin.getConfig().getBoolean("invert-mouse-buttons"); - hologramFixedBottom = plugin.getConfig().getBoolean("hologram-fixed-bottom"); - hologramLift = plugin.getConfig().getDouble("hologram-lift"); - maximalDistance = plugin.getConfig().getDouble("maximal-distance"); - maximalItemDistance = plugin.getConfig().getDouble("maximal-item-distance"); - shopCreationPriceNormal = plugin.getConfig().getDouble("shop-creation-price.normal"); - shopCreationPriceAdmin = plugin.getConfig().getDouble("shop-creation-price.admin"); - defaultLimit = plugin.getConfig().getInt("shop-limits.default"); - mainCommandName = plugin.getConfig().getString("main-command-name"); - languageFile = plugin.getConfig().getString("language-file"); - - if (firstLoad || langReload) loadLanguageConfig(showMessages); - if (!firstLoad && langReload) LanguageUtils.load(); - } - - /** - * @return ShopChest's {@link LanguageConfiguration} - */ - public LanguageConfiguration getLanguageConfig() { - return langConfig; - } - - private Reader getTextResource(String file, boolean showMessages) { - try { - return (Reader) plugin.getClass().getDeclaredMethod("getTextResource", String.class).invoke(plugin, file); - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - if (showMessages) plugin.getLogger().severe("Failed to get file from jar: " + file); - plugin.debug("Failed to get file from jar: " + file); - plugin.debug(e); - } - - return null; - } - - private void loadLanguageConfig(boolean showMessages) { - langConfig = new LanguageConfiguration(plugin, showMessages); - File langFolder = new File(plugin.getDataFolder(), "lang"); - - String legacy = Utils.getMajorVersion() < 13 ? "-legacy" : ""; - - if (!(new File(langFolder, "en_US" + legacy + ".lang")).exists()) - plugin.saveResource("lang/en_US" + legacy + ".lang", false); - - if (!(new File(langFolder, "de_DE" + legacy + ".lang")).exists()) - plugin.saveResource("lang/de_DE" + legacy + ".lang", false); - - File langConfigFile = new File(langFolder, languageFile + legacy + ".lang"); - File langDefaultFile = new File(langFolder, "en_US" + legacy + ".lang"); - - if (!langConfigFile.exists()) { - if (!langDefaultFile.exists()) { - try { - Reader r = getTextResource("lang/" + langConfigFile.getName(), showMessages); - - if (r == null) { - r = getTextResource("lang/en_US" + legacy + ".lang", showMessages); - if (showMessages) plugin.getLogger().info("Using locale \"en_US" + legacy + "\" (Streamed from jar file)"); - } else { - if (showMessages) - plugin.getLogger().info("Using locale \"" + langConfigFile.getName().substring(0, langConfigFile.getName().length() - 5) + "\" (Streamed from jar file)"); - } - - if (r == null) { - if (showMessages) plugin.getLogger().warning("Using default language values"); - plugin.debug("Using default language values (#1)"); - } - - BufferedReader br = new BufferedReader(r); - - StringBuilder sb = new StringBuilder(); - String line = br.readLine(); - - while (line != null) { - sb.append(line); - sb.append("\n"); - line = br.readLine(); - } - - langConfig.loadFromString(sb.toString()); - } catch (IOException | InvalidConfigurationException e) { - if (showMessages) { - plugin.getLogger().warning("Using default language values"); - } - - plugin.debug("Using default language values (#2)"); - plugin.debug(e); - } - } else { - try { - langConfig.load(langDefaultFile); - if (showMessages) plugin.getLogger().info("Using locale \"en_US" + legacy + "\""); - } catch (IOException | InvalidConfigurationException e) { - if (showMessages) { - plugin.getLogger().warning("Using default language values"); - } - - plugin.debug("Using default language values (#3)"); - plugin.debug(e); - } - } - } else { - try { - if (showMessages) - plugin.getLogger().info("Using locale \"" + langConfigFile.getName().substring(0, langConfigFile.getName().length() - 5) + "\""); - langConfig.load(langConfigFile); - } catch (IOException | InvalidConfigurationException e) { - if (showMessages) { - plugin.getLogger().warning("Using default language values"); - } - - plugin.debug("Using default language values (#4)"); - plugin.debug(e); - } - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/config/HologramFormat.java b/implementation/src/main/java/de/epiceric/shopchest/config/HologramFormat.java deleted file mode 100644 index 8b7077d..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/config/HologramFormat.java +++ /dev/null @@ -1,243 +0,0 @@ -package de.epiceric.shopchest.config; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Operator; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.configuration.file.YamlConfiguration; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import java.io.File; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class HologramFormat { - - public enum Requirement { - VENDOR, AMOUNT, ITEM_TYPE, ITEM_NAME, HAS_ENCHANTMENT, BUY_PRICE, - SELL_PRICE, HAS_POTION_EFFECT, IS_MUSIC_DISC, IS_POTION_EXTENDED, IS_BANNER_PATTERN, - IS_WRITTEN_BOOK, ADMIN_SHOP, NORMAL_SHOP, IN_STOCK, MAX_STACK, CHEST_SPACE, DURABILITY - } - - // no "-" sign since no variable can be negative - // e.g.: 100.0 >= 50.0 - private static final Pattern SIMPLE_NUMERIC_CONDITION = Pattern.compile("^(\\d+(?:\\.\\d+)?) ([<>][=]?|[=!]=) (\\d+(?:\\.\\d+)?)$"); - - // e.g.: "STONE" == "DIAMOND_SWORD" - private static final Pattern SIMPLE_STRING_CONDITION = Pattern.compile("^\"([^\"]*)\" ([=!]=) \"([^\"]*)\"$"); - - private ScriptEngineManager manager = new ScriptEngineManager(); - private ScriptEngine engine = manager.getEngineByName("JavaScript"); - - private ShopChest plugin; - private File configFile; - private YamlConfiguration config; - - public HologramFormat(ShopChest plugin) { - this.configFile = new File(plugin.getDataFolder(), "hologram-format.yml"); - this.config = YamlConfiguration.loadConfiguration(configFile); - this.plugin = plugin; - } - - /** - * Get the format for the given line of the hologram - * @param line Line of the hologram - * @param reqMap Values of the requirements that might be needed by the format (contains {@code null} if not comparable) - * @param plaMap Values of the placeholders that might be needed by the format - * @return The format of the first working option, or an empty String if no option is working - * because of not fulfilled requirements - */ - public String getFormat(int line, Map reqMap, Map plaMap) { - ConfigurationSection options = config.getConfigurationSection("lines." + line + ".options"); - - optionLoop: - for (String key : options.getKeys(false)) { - ConfigurationSection option = options.getConfigurationSection(key); - List requirements = option.getStringList("requirements"); - - String format = option.getString("format"); - - for (String sReq : requirements) { - for (Requirement req : reqMap.keySet()) { - if (sReq.contains(req.toString())) { - if (!evalRequirement(sReq, reqMap)) { - continue optionLoop; - } - } - } - } - - return evalPlaceholder(format, plaMap); - } - - return ""; - } - - public void reload() { - config = YamlConfiguration.loadConfiguration(configFile); - } - - /** - * @return Whether the hologram text has to change dynamically without reloading - */ - public boolean isDynamic() { - int count = getLineCount(); - for (int i = 0; i < count; i++) { - ConfigurationSection options = config.getConfigurationSection("lines." + i + ".options"); - - for (String key : options.getKeys(false)) { - ConfigurationSection option = options.getConfigurationSection(key); - - String format = option.getString("format"); - if (format.contains(Placeholder.STOCK.toString()) || format.contains(Placeholder.CHEST_SPACE.toString())) { - return true; - } - - for (String req : option.getStringList("requirements")) { - if (req.contains(Requirement.IN_STOCK.toString()) || req.contains(Requirement.CHEST_SPACE.toString())) { - return true; - } - } - } - } - - return false; - } - - /** - * @return Amount of lines in a hologram - */ - public int getLineCount() { - return config.getConfigurationSection("lines").getKeys(false).size(); - } - - /** - * @return Configuration of the "hologram-format.yml" file - */ - public YamlConfiguration getConfig() { - return config; - } - - /** - * Parse and evaluate a condition - * @param condition Condition to evaluate - * @param values Values of the requirements - * @return Result of the condition - */ - public boolean evalRequirement(String condition, Map values) { - String cond = condition; - - for (HologramFormat.Requirement req : HologramFormat.Requirement.values()) { - if (cond.contains(req.toString()) && values.containsKey(req)) { - Object val = values.get(req); - String sVal = String.valueOf(val); - - if (val instanceof String && !(sVal.startsWith("\"") && sVal.endsWith("\""))) { - sVal = String.format("\"%s\"", sVal); - } - - cond = cond.replace(req.toString(), sVal); - } - } - - if (cond.equals("true")) { - // e.g.: ADMIN_SHOP - return true; - } else if (cond.equals("false")) { - return false; - } else { - char firstChar = cond.charAt(0); - - // numeric cond: first char must be a digit (no variable can be negative) - if (firstChar >= '0' && firstChar <= '9') { - Matcher matcher = SIMPLE_NUMERIC_CONDITION.matcher(cond); - - if (matcher.find()) { - Double a, b; - Operator operator; - try { - a = Double.valueOf(matcher.group(1)); - operator = Operator.from(matcher.group(2)); - b = Double.valueOf(matcher.group(3)); - - return operator.compare(a, b); - } catch (IllegalArgumentException ignored) { - // should not happen, since regex checked that there is valid number and valid operator - } - } - } - - // string cond: first char must be a: " - if (firstChar == '"') { - Matcher matcher = SIMPLE_STRING_CONDITION.matcher(cond); - - if (matcher.find()) { - String a, b; - Operator operator; - try { - a = matcher.group(1); - operator = Operator.from(matcher.group(2)); - b = matcher.group(3); - - return operator.compare(a, b); - } catch (IllegalArgumentException | UnsupportedOperationException ignored) { - // should not happen, since regex checked that there is valid operator - } - } - } - - // complex comparison - try { - return (boolean) engine.eval(cond); - } catch (ScriptException e) { - plugin.debug("Failed to eval condition: " + condition); - plugin.debug(e); - return false; - } - } - } - - /** - * Parse and evaluate a condition - * @param string Message or hologram format whose containing scripts to execute - * @param values Values of the placeholders - * @return Result of the condition - */ - public String evalPlaceholder(String string, Map values) { - try { - Matcher matcher = Pattern.compile("\\{([^}]+)}").matcher(string); - String newString = string; - - while (matcher.find()) { - String withBrackets = matcher.group(); - String script = withBrackets.substring(1, withBrackets.length() - 1); - - for (Placeholder placeholder : values.keySet()) { - if (script.contains(placeholder.toString())) { - Object val = values.get(placeholder); - String sVal = String.valueOf(val); - - if (val instanceof String && !(sVal.startsWith("\"") && sVal.endsWith("\""))) { - sVal = String.format("\"%s\"", sVal); - } - - script = script.replace(placeholder.toString(), sVal); - } - } - - String result = String.valueOf(engine.eval(script)); - newString = newString.replace(withBrackets, result); - } - - return newString; - } catch (ScriptException e) { - plugin.debug("Failed to eval placeholder script in string: " + string); - plugin.debug(e); - } - - return string; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/config/LanguageConfiguration.java b/implementation/src/main/java/de/epiceric/shopchest/config/LanguageConfiguration.java deleted file mode 100644 index 921edc2..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/config/LanguageConfiguration.java +++ /dev/null @@ -1,126 +0,0 @@ -package de.epiceric.shopchest.config; - -import de.epiceric.shopchest.ShopChest; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.FileConfiguration; - -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; - -public class LanguageConfiguration extends FileConfiguration { - - private ArrayList lines = new ArrayList<>(); - private HashMap values = new HashMap<>(); - - private ShopChest plugin; - private boolean showMessages; - private File file; - - public LanguageConfiguration(ShopChest plugin, boolean showMessages) { - this.plugin = plugin; - this.showMessages = showMessages; - } - - @Override - public String saveToString() { - StringBuilder sb = new StringBuilder(""); - - for (String line : lines) { - sb.append(line); - sb.append("\n"); - } - - return sb.toString(); - } - - @Override - public String getString(String path, String def) { - for (String key : values.keySet()) { - if (key.equals(path)) { - return values.get(key); - } - } - - values.put(path, def); - - if (file != null) { - // Append missing entry to loaded language file - try (FileWriter writer = new FileWriter(file, true)) { - writer.write(path + "=" + def + "\n"); - if (showMessages) - plugin.getLogger().info("Missing translation for \"" + path + "\" has been added as \"" + def + "\" to the selected language file."); - } catch (IOException e) { - plugin.debug("Failed to add language entry"); - plugin.debug(e); - if (showMessages) - plugin.getLogger().severe("Failed to add missing translation for \"" + path + "\" to the selected langauge file."); - } - } - - return def; - } - - @Override - public void load(File file) throws IOException, InvalidConfigurationException { - this.file = file; - - FileInputStream fis = new FileInputStream(file); - InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8); - BufferedReader br = new BufferedReader(isr); - - StringBuilder sb = new StringBuilder(); - - String line = br.readLine(); - while (line != null) { - sb.append(line); - sb.append("\n"); - line = br.readLine(); - } - - fis.close(); - isr.close(); - br.close(); - - loadFromString(sb.toString()); - } - - @Override - public void loadFromString(String s) throws InvalidConfigurationException { - String[] lines = s.split("\n"); - for (String line : lines) { - if (!line.isEmpty()) { - this.lines.add(line); - - if (!line.startsWith("#")) { - if (line.contains("=")) { - if (line.split("=").length >= 2) { - String key = line.split("=")[0]; - StringBuilder sbValue = new StringBuilder(); - - for (int i = 1; i < line.split("=").length; i++) { - if (i > 1) { - sbValue.append("="); - } - sbValue.append(line.split("=")[i]); - } - - String value = sbValue.toString(); - - values.put(key, value); - } else if (line.split("=").length == 1) { - String key = line.split("=")[0]; - values.put(key, ""); - } - } - } - } - } - } - - @Override - protected String buildHeader() { - return null; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/config/Placeholder.java b/implementation/src/main/java/de/epiceric/shopchest/config/Placeholder.java deleted file mode 100644 index a2b15ce..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/config/Placeholder.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.epiceric.shopchest.config; - -public enum Placeholder { - - VENDOR("%VENDOR%"), - AMOUNT("%AMOUNT%"), - ITEM_NAME("%ITEMNAME%"), - CREATION_PRICE("%CREATION-PRICE%"), - ERROR("%ERROR%"), - ENCHANTMENT("%ENCHANTMENT%"), - MIN_PRICE("%MIN-PRICE%"), - MAX_PRICE("%MAX-PRICE%"), - VERSION("%VERSION%"), - BUY_PRICE("%BUY-PRICE%"), - SELL_PRICE("%SELL-PRICE%"), - LIMIT("%LIMIT%"), - PLAYER("%PLAYER%"), - POTION_EFFECT("%POTION-EFFECT%"), - MUSIC_TITLE("%MUSIC-TITLE%"), - BANNER_PATTERN_NAME("%BANNER-PATTERN-NAME%"), - PROPERTY("%PROPERTY%"), - VALUE("%VALUE%"), - EXTENDED("%EXTENDED%"), - REVENUE("%REVENUE%"), - GENERATION("%GENERATION%"), - STOCK("%STOCK%"), - CHEST_SPACE("%CHEST-SPACE%"), - MAX_STACK("%MAX-STACK%"), - COMMAND("%COMMAND%"), - DURABILITY("%DURABILITY%"); - - private String name; - - Placeholder(String name) { - this.name = name; - } - - @Override - public String toString() { - return name; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopBuySellEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopBuySellEvent.java deleted file mode 100644 index e47d2a1..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopBuySellEvent.java +++ /dev/null @@ -1,58 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player buys or sells something from or to a shop - */ -public class ShopBuySellEvent extends ShopEvent implements Cancellable { - private Type type; - private int newAmount; - private double newPrice; - private boolean cancelled; - - public ShopBuySellEvent(Player player, Shop shop, Type type, int newAmount, double newPrice) { - super(player, shop); - this.type = type; - this.newAmount = newAmount; - this.newPrice = newPrice; - } - - /** - * @return Whether the player buys or sells something - */ - public Type getType() { - return type; - } - - /** - * @return The amount which might be modified because of automatic item amount calculation - */ - public int getNewAmount() { - return newAmount; - } - - /** - * @return The price which might be modified because of automatic item amount calculation - */ - public double getNewPrice() { - return newPrice; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } - - public enum Type { - BUY, - SELL; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopCreateEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopCreateEvent.java deleted file mode 100644 index 13ce1bb..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopCreateEvent.java +++ /dev/null @@ -1,35 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player creates a shop (clicks on a chest) - */ -public class ShopCreateEvent extends ShopEvent implements Cancellable { - private double creationPrice; - private boolean cancelled; - - public ShopCreateEvent(Player player, Shop shop, double creationPrice) { - super(player, shop); - this.creationPrice = creationPrice; - } - /** - * @return The price the player has to pay in order to create the shop (only if the event is not cancelled) - */ - public double getCreationPrice() { - return creationPrice; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopEvent.java deleted file mode 100644 index 615b123..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopEvent.java +++ /dev/null @@ -1,42 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -public abstract class ShopEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - private Shop shop; - private Player player; - - public ShopEvent(Player player, Shop shop) { - this.player = player; - this.shop = shop; - } - - /** - * @return Shop which is involved in this event - */ - public Shop getShop() { - return shop; - } - - /** - * @return Player who is involved in this event - */ - public Player getPlayer() { - return player; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopExtendEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopExtendEvent.java deleted file mode 100644 index cc6a2d9..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopExtendEvent.java +++ /dev/null @@ -1,37 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player extends a shop (making a chest a double chest) - */ -public class ShopExtendEvent extends ShopEvent implements Cancellable { - private boolean cancelled; - private Location newChestLocation; - - public ShopExtendEvent(Player player, Shop shop, Location newChest) { - super(player, shop); - this.newChestLocation = newChest; - } - - /** - * @return Location of the placed chest - */ - public Location getNewChestLocation() { - return newChestLocation; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopInfoEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopInfoEvent.java deleted file mode 100644 index d86bcff..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopInfoEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player retrieves information about a shop (clicks on a chest) - */ -public class ShopInfoEvent extends ShopEvent implements Cancellable { - private boolean cancelled; - - public ShopInfoEvent(Player player, Shop shop) { - super(player, shop); - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopInitializedEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopInitializedEvent.java deleted file mode 100644 index 1eb0a09..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopInitializedEvent.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.epiceric.shopchest.event; - -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -public class ShopInitializedEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - private int amount; - - public ShopInitializedEvent(int amount) { - this.amount = amount; - } - - public int getAmount() { - return amount; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopOpenEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopOpenEvent.java deleted file mode 100644 index 3aa8a3d..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopOpenEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player opens a shop (clicks on a chest) - */ -public class ShopOpenEvent extends ShopEvent implements Cancellable { - private boolean cancelled; - - public ShopOpenEvent(Player player, Shop shop) { - super(player, shop); - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreCreateEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreCreateEvent.java deleted file mode 100644 index 18493fc..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreCreateEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player wants to create a shop (enters the command) - */ -public class ShopPreCreateEvent extends ShopEvent implements Cancellable { - private boolean cancelled; - - public ShopPreCreateEvent(Player player, Shop shop) { - super(player, shop); - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreInfoEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreInfoEvent.java deleted file mode 100644 index 7e8e88d..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreInfoEvent.java +++ /dev/null @@ -1,46 +0,0 @@ -package de.epiceric.shopchest.event; - -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -/** - * Called when a player wants to retrieve information about a shop (enters the command) - */ -public class ShopPreInfoEvent extends Event implements Cancellable { - private static final HandlerList handlers = new HandlerList(); - - private Player player; - private boolean cancelled; - - public ShopPreInfoEvent(Player player) { - this.player = player; - } - - /** - * @return Player who is involved in this event - */ - public Player getPlayer() { - return player; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - this.cancelled = cancel; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreOpenEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreOpenEvent.java deleted file mode 100644 index 4df20cb..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreOpenEvent.java +++ /dev/null @@ -1,46 +0,0 @@ -package de.epiceric.shopchest.event; - -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -/** - * Called when a player wants to open a shop (enters the command) - */ -public class ShopPreOpenEvent extends Event implements Cancellable { - private static final HandlerList handlers = new HandlerList(); - - private Player player; - private boolean cancelled; - - public ShopPreOpenEvent(Player player) { - this.player = player; - } - - /** - * @return Player who is involved in this event - */ - public Player getPlayer() { - return player; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - this.cancelled = cancel; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreRemoveEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreRemoveEvent.java deleted file mode 100644 index d97d9dd..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopPreRemoveEvent.java +++ /dev/null @@ -1,46 +0,0 @@ -package de.epiceric.shopchest.event; - -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -/** - * Called when a player wants to remove a shop (enters the command) - */ -public class ShopPreRemoveEvent extends Event implements Cancellable { - private static final HandlerList handlers = new HandlerList(); - - private Player player; - private boolean cancelled; - - public ShopPreRemoveEvent(Player player) { - this.player = player; - } - - /** - * @return Player who is involved in this event - */ - public Player getPlayer() { - return player; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopReloadEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopReloadEvent.java deleted file mode 100644 index 6bb15d7..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopReloadEvent.java +++ /dev/null @@ -1,46 +0,0 @@ -package de.epiceric.shopchest.event; - -import org.bukkit.command.CommandSender; -import org.bukkit.event.Cancellable; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -/** - * Called when a player reloads the shops - */ -public class ShopReloadEvent extends Event implements Cancellable { - private static final HandlerList handlers = new HandlerList(); - - private CommandSender sender; - private boolean cancelled; - - public ShopReloadEvent(CommandSender sender) { - this.sender = sender; - } - - /** - * @return Sender, who caused the reload ({@link org.bukkit.entity.Player} or {@link org.bukkit.command.ConsoleCommandSender}) - */ - public CommandSender getSender() { - return sender; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveAllEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveAllEvent.java deleted file mode 100644 index c9b8eaf..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveAllEvent.java +++ /dev/null @@ -1,56 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.OfflinePlayer; -import org.bukkit.command.CommandSender; -import org.bukkit.event.Cancellable; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import java.util.List; - -public class ShopRemoveAllEvent extends Event implements Cancellable { - private static final HandlerList handlers = new HandlerList(); - - private CommandSender sender; - private OfflinePlayer vendor; - private List shops; - private boolean cancelled; - - public ShopRemoveAllEvent(CommandSender sender, OfflinePlayer vendor, List shops) { - this.sender = sender; - this.vendor = vendor; - this.shops = shops; - } - - public CommandSender getSender() { - return sender; - } - - public OfflinePlayer getVendor() { - return vendor; - } - - public List getShops() { - return shops; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - @Override - public void setCancelled(boolean cancelled) { - this.cancelled = cancelled; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveEvent.java b/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveEvent.java deleted file mode 100644 index dc0a44e..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/event/ShopRemoveEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.epiceric.shopchest.event; - -import de.epiceric.shopchest.shop.Shop; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; - -/** - * Called when a player removes a shop (clicks on a chest) - */ -public class ShopRemoveEvent extends ShopEvent implements Cancellable { - private boolean cancelled; - - public ShopRemoveEvent(Player player, Shop shop) { - super(player, shop); - } - - @Override - public boolean isCancelled() { - return cancelled; - } - - @Override - public void setCancelled(boolean cancel) { - cancelled = cancel; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/exceptions/ChestNotFoundException.java b/implementation/src/main/java/de/epiceric/shopchest/exceptions/ChestNotFoundException.java deleted file mode 100644 index 0faa62e..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/exceptions/ChestNotFoundException.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.epiceric.shopchest.exceptions; - -public class ChestNotFoundException extends Exception { - private static final long serialVersionUID = -6446875473671870708L; - - public ChestNotFoundException(String message) { - super(message); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/exceptions/NotEnoughSpaceException.java b/implementation/src/main/java/de/epiceric/shopchest/exceptions/NotEnoughSpaceException.java deleted file mode 100644 index d6dd5c0..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/exceptions/NotEnoughSpaceException.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.epiceric.shopchest.exceptions; - -public class NotEnoughSpaceException extends Exception { - private static final long serialVersionUID = 3718475607700458355L; - - public NotEnoughSpaceException(String message) { - super(message); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/exceptions/WorldNotFoundException.java b/implementation/src/main/java/de/epiceric/shopchest/exceptions/WorldNotFoundException.java deleted file mode 100644 index 4af4e62..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/exceptions/WorldNotFoundException.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.epiceric.shopchest.exceptions; - -public class WorldNotFoundException extends Exception { - private static final long serialVersionUID = -555886332156936972L; - - public WorldNotFoundException(String worldName) { - super("Could not find world with name \"" + worldName + "\""); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/PlotSquaredShopFlag.java b/implementation/src/main/java/de/epiceric/shopchest/external/PlotSquaredShopFlag.java deleted file mode 100644 index 21afc19..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/PlotSquaredShopFlag.java +++ /dev/null @@ -1,114 +0,0 @@ -package de.epiceric.shopchest.external; - -import com.github.intellectualsites.plotsquared.plot.flag.Flag; -import com.github.intellectualsites.plotsquared.plot.flag.Flags; -import com.github.intellectualsites.plotsquared.plot.object.Plot; - -import org.bukkit.entity.Player; - -import de.epiceric.shopchest.ShopChest; - -import java.util.Locale; - -public class PlotSquaredShopFlag { - - private static boolean registered = false; - - public enum Group { - OWNERS, MEMBERS, TRUSTED, EVERYONE, NONE - } - - public static GroupFlag CREATE_SHOP = new GroupFlag("create-shop"); - public static GroupFlag USE_SHOP = new GroupFlag("use-shop"); - public static GroupFlag USE_ADMIN_SHOP = new GroupFlag("use-admin-shop"); - - public static void register(ShopChest plugin) { - if (registered) return; - - Flags.registerFlag(CREATE_SHOP); - Flags.registerFlag(USE_SHOP); - Flags.registerFlag(USE_ADMIN_SHOP); - registered = true; - - plugin.debug("Registered custom PlotSquared flags"); - } - - /** - * Check if a flag is allowed for a player on a plot from PlotSquared - * @param plot Plot from PlotSquared - * @param flag Flag to check - * @param p Player to check - * @return Whether the flag is allowed for the player - */ - public static boolean isFlagAllowedOnPlot(Plot plot, GroupFlag flag, Player p) { - if (plot != null && flag != null) { - Group group = plot.getFlag(flag, PlotSquaredShopFlag.Group.NONE); - //ShopChest.getInstance().debug("Flag " + flag.getName() + " is set to " + group); - - switch (group) { - case OWNERS: - return plot.getOwners().contains(p.getUniqueId()); - case TRUSTED: - return plot.getOwners().contains(p.getUniqueId()) || plot.getTrusted().contains(p.getUniqueId()); - case MEMBERS: - return plot.getOwners().contains(p.getUniqueId()) || plot.getTrusted().contains(p.getUniqueId()) || plot.getMembers().contains(p.getUniqueId()); - case EVERYONE: - return true; - case NONE: - return false; - } - } - - //ShopChest.getInstance().debug("Flag or plot is null, or value of flag is not a group"); - - return true; - } - - public static class GroupFlag extends Flag { - - public GroupFlag(String name) { - super(name); - } - - @Override - public String valueToString(Object value) { - return String.valueOf(value); - } - - @Override - public Group parseValue(String s) { - String val = s.toLowerCase(Locale.ENGLISH); - - switch (val) { - case "owners": - case "owner": - return Group.OWNERS; - case "members": - case "member": - case "helpers": - case "helper": - return Group.MEMBERS; - case "trusted": - return Group.TRUSTED; - case "everyone": - case "all": - return Group.EVERYONE; - case "deny": - case "false": - case "no": - case "0": - case "none": - case "noone": - return Group.NONE; - } - - return null; - } - - @Override - public String getValueDescription() { - return "Flag value must be a group: 'owner' , 'members', 'trusted', 'everyone' or 'none'"; - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/WorldGuardShopFlag.java b/implementation/src/main/java/de/epiceric/shopchest/external/WorldGuardShopFlag.java deleted file mode 100644 index 266d819..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/WorldGuardShopFlag.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.epiceric.shopchest.external; - -import java.util.Optional; - -import org.codemc.worldguardwrapper.WorldGuardWrapper; -import org.codemc.worldguardwrapper.flag.IWrappedFlag; -import org.codemc.worldguardwrapper.flag.WrappedState; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; - -public class WorldGuardShopFlag { - - public static void register(final ShopChest plugin) { - WorldGuardWrapper wrapper = WorldGuardWrapper.getInstance(); - - Optional> createFlag = wrapper.registerFlag("create-shop", - WrappedState.class, Config.wgAllowCreateShopDefault ? WrappedState.ALLOW : WrappedState.DENY); - - Optional> useFlag = wrapper.registerFlag("use-shop", - WrappedState.class, Config.wgAllowUseShopDefault ? WrappedState.ALLOW : WrappedState.DENY); - - Optional> useAdminFlag = wrapper.registerFlag("use-admin-shop", - WrappedState.class, Config.wgAllowUseAdminShopDefault ? WrappedState.ALLOW : WrappedState.DENY); - - plugin.debug("Flag create-shop: " + String.valueOf(createFlag.isPresent())); - plugin.debug("Flag use-shop: " + String.valueOf(useFlag.isPresent())); - plugin.debug("Flag use-admin-shop: " + String.valueOf(useAdminFlag.isPresent())); - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/ASkyBlockListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/ASkyBlockListener.java deleted file mode 100644 index 701d2d1..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/ASkyBlockListener.java +++ /dev/null @@ -1,62 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Set; - -import com.wasteofplastic.askyblock.ASkyBlockAPI; -import com.wasteofplastic.askyblock.Island; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; - -public class ASkyBlockListener implements Listener { - private final ShopChest plugin; - - public ASkyBlockListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableASkyblockIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enableASkyblockIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - private boolean handleForLocation(Player player, Location loc, Cancellable e) { - Island island = ASkyBlockAPI.getInstance().getIslandAt(loc); - if (island == null) - return false; - - if (!player.getUniqueId().equals(island.getOwner()) && !island.getMembers().contains(player.getUniqueId())) { - e.setCancelled(true); - plugin.debug("Cancel Reason: ASkyBlock"); - return true; - } - - return false; - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/GriefPreventionListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/GriefPreventionListener.java deleted file mode 100644 index 3246b0f..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/GriefPreventionListener.java +++ /dev/null @@ -1,62 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Set; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; -import me.ryanhamshire.GriefPrevention.Claim; -import me.ryanhamshire.GriefPrevention.GriefPrevention; - -public class GriefPreventionListener implements Listener { - private final ShopChest plugin; - private final GriefPrevention griefPrevention; - - public GriefPreventionListener(ShopChest plugin) { - this.plugin = plugin; - this.griefPrevention = plugin.getGriefPrevention(); - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableGriefPreventionIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enableASkyblockIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - private boolean handleForLocation(Player player, Location loc, Cancellable e) { - Claim claim = griefPrevention.dataStore.getClaimAt(loc, false, null); - if (claim == null) - return false; - - if (claim.allowContainers(player) != null) { - e.setCancelled(true); - plugin.debug("Cancel Reason: GriefPrevention"); - return true; - } - - return false; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/IslandWorldListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/IslandWorldListener.java deleted file mode 100644 index 2745008..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/IslandWorldListener.java +++ /dev/null @@ -1,59 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Set; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; -import pl.islandworld.api.IslandWorldApi; - -public class IslandWorldListener implements Listener { - private final ShopChest plugin; - - public IslandWorldListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableIslandWorldIntegration || !IslandWorldApi.isInitialized()) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enableIslandWorldIntegration || !IslandWorldApi.isInitialized()) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - private boolean handleForLocation(Player player, Location loc, Cancellable e) { - if (!loc.getWorld().getName().equals(IslandWorldApi.getIslandWorld().getName())) - return false; - - if (!IslandWorldApi.canBuildOnLocation(player, loc, true)) { - e.setCancelled(true); - plugin.debug("Cancel Reason: IslandWorld"); - return true; - } - - return false; - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/PlotSquaredListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/PlotSquaredListener.java deleted file mode 100644 index 9aab2b6..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/PlotSquaredListener.java +++ /dev/null @@ -1,80 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Set; - -import com.github.intellectualsites.plotsquared.plot.object.Location; -import com.github.intellectualsites.plotsquared.plot.object.Plot; - -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.external.PlotSquaredShopFlag; -import de.epiceric.shopchest.utils.Utils; - -public class PlotSquaredListener implements Listener { - private final ShopChest plugin; - - public PlotSquaredListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enablePlotsquaredIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (org.bukkit.Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enablePlotsquaredIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - // TODO: Outsource shop use external permission - - // @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - // public void onBuySell(ShopBuySellEvent e) { - // if (!Config.enablePlotsquaredIntegration) - // return; - - // ShopType shopType = e.getShop().getShopType(); - // GroupFlag flag = shopType == ShopType.ADMIN ? PlotSquaredShopFlag.USE_ADMIN_SHOP : PlotSquaredShopFlag.USE_SHOP; - - // Set chestLocations = Utils.getChestLocations(e.getShop()); - // for (org.bukkit.Location loc : chestLocations) { - // Location plotLocation = new Location(loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); - // Plot plot = plotLocation.getOwnedPlot(); - // if (!isFlagAllowed(plot, flag, e.getPlayer())) { - // e.setCancelled(true); - // plugin.debug("Cancel Reason: PlotSquared"); - // return; - // } - // } - // } - - private boolean handleForLocation(Player player, org.bukkit.Location loc, Cancellable e) { - Location plotLocation = new Location(loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); - Plot plot = plotLocation.getOwnedPlot(); - if (!PlotSquaredShopFlag.isFlagAllowedOnPlot(plot, PlotSquaredShopFlag.CREATE_SHOP, player)) { - e.setCancelled(true); - plugin.debug("Cancel Reason: PlotSquared"); - return true; - } - return false; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/TownyListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/TownyListener.java deleted file mode 100644 index 85c736b..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/TownyListener.java +++ /dev/null @@ -1,84 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Optional; -import java.util.Set; - -import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; -import com.palmergames.bukkit.towny.object.Resident; -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.TownBlock; -import com.palmergames.bukkit.towny.object.TownyUniverse; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; - -public class TownyListener implements Listener { - private final ShopChest plugin; - - public TownyListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableTownyIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enablePlotsquaredIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - private boolean handleForLocation(Player player, Location loc, Cancellable e) { - TownBlock townBlock = TownyUniverse.getTownBlock(loc); - if (townBlock == null) - return false; - - try { - Town town = townBlock.getTown(); - Optional playerResident = town.getResidents().stream() - .filter(r -> r.getName().equals(player.getName())) - .findFirst(); - - if (!playerResident.isPresent()) { - e.setCancelled(true); - plugin.debug("Cancel Reason: Towny (no resident)"); - return true; - } - - Resident resident = playerResident.get(); - String plotType = townBlock.getType().name(); - boolean cancel = (resident.isMayor() && !Config.townyShopPlotsMayor.contains(plotType)) - || (resident.isKing() && !Config.townyShopPlotsKing.contains(plotType)) - || (!resident.isKing() && !resident.isMayor() && !Config.townyShopPlotsResidents.contains(plotType)); - - if (cancel) { - e.setCancelled(true); - plugin.debug("Cancel Reason: Towny (no permission)"); - return true; - } - } catch (NotRegisteredException ignored) { - } - return false; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/USkyBlockListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/USkyBlockListener.java deleted file mode 100644 index ee86a8e..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/USkyBlockListener.java +++ /dev/null @@ -1,61 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Set; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; -import us.talabrek.ultimateskyblock.api.IslandInfo; -import us.talabrek.ultimateskyblock.api.uSkyBlockAPI; - -public class USkyBlockListener implements Listener { - private final ShopChest plugin; - private final uSkyBlockAPI uSkyBlockAPI; - - public USkyBlockListener(ShopChest plugin) { - this.plugin = plugin; - this.uSkyBlockAPI = plugin.getUSkyBlock(); - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableUSkyblockIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enablePlotsquaredIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e); - } - - private boolean handleForLocation(Player player, Location loc, Cancellable e) { - IslandInfo islandInfo = uSkyBlockAPI.getIslandInfo(loc); - if (islandInfo == null) - return false; - - if (!player.getName().equals(islandInfo.getLeader()) && !islandInfo.getMembers().contains(player.getName())) { - e.setCancelled(true); - plugin.debug("Cancel Reason: uSkyBlock"); - return true; - } - return false; - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/WorldGuardListener.java b/implementation/src/main/java/de/epiceric/shopchest/external/listeners/WorldGuardListener.java deleted file mode 100644 index fe7b440..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/external/listeners/WorldGuardListener.java +++ /dev/null @@ -1,97 +0,0 @@ -package de.epiceric.shopchest.external.listeners; - -import java.util.Optional; -import java.util.Set; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.codemc.worldguardwrapper.WorldGuardWrapper; -import org.codemc.worldguardwrapper.flag.IWrappedFlag; -import org.codemc.worldguardwrapper.flag.WrappedState; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.utils.Utils; - -public class WorldGuardListener implements Listener { - - private final ShopChest plugin; - private final WorldGuardWrapper wgWrapper; - - public WorldGuardListener(ShopChest plugin) { - this.plugin = plugin; - this.wgWrapper = WorldGuardWrapper.getInstance(); - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onCreateShop(ShopCreateEvent e) { - if (!Config.enableWorldGuardIntegration) - return; - - Set chestLocations = Utils.getChestLocations(e.getShop()); - IWrappedFlag flag = getStateFlag("create-shop"); - for (Location loc : chestLocations) { - if (handleForLocation(e.getPlayer(), loc, e, flag)) - return; - } - } - - @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - public void onExtendShop(ShopExtendEvent e) { - if (!Config.enableWorldGuardIntegration) - return; - - handleForLocation(e.getPlayer(), e.getNewChestLocation(), e, getStateFlag("create-shop")); - } - - // TODO: Outsource shop use external permission - - // @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) - // public void onBuySell(ShopBuySellEvent e) { - // if (!Config.enableWorldGuardIntegration) - // return; - - // Set chestLocations = Utils.getChestLocations(e.getShop()); - // String flagName = e.getShop().getShopType() == ShopType.ADMIN ? "use-admin-shop" : "use-shop"; - // IWrappedFlag flag = getStateFlag(flagName); - // for (Location loc : chestLocations) { - // WrappedState state = wgWrapper.queryFlag(e.getPlayer(), loc, flag).orElse(WrappedState.DENY); - // if (state == WrappedState.DENY) { - // e.setCancelled(true); - // return; - // } - // } - // } - - private boolean handleForLocation(Player player, Location loc, Cancellable e, IWrappedFlag flag) { - if (flag == null) { - // Flag may have not been registered successfully, so ignore them. - return false; - } - - WrappedState state = wgWrapper.queryFlag(player, loc, flag).orElse(WrappedState.DENY); - if (state == WrappedState.DENY) { - e.setCancelled(true); - plugin.debug("Cancel Reason: WorldGuard"); - return true; - } - return false; - } - - private IWrappedFlag getStateFlag(String flagName) { - Optional> flagOptional = wgWrapper.getFlag(flagName, WrappedState.class); - if (!flagOptional.isPresent()) { - plugin.getLogger().severe("Failed to get WorldGuard state flag '" + flagName + "'."); - plugin.debug("WorldGuard state flag '" + flagName + "' is not present!"); - return null; - } - return flagOptional.get(); - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java b/implementation/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java deleted file mode 100644 index 71ee11d..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/BannerPatternName.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.Material; - -public class BannerPatternName { - - private Material bannerPatternMaterial; - private String localizedName; - - public BannerPatternName(Material bannerPatternMaterial, String localizedName) { - this.bannerPatternMaterial = bannerPatternMaterial; - this.localizedName = localizedName; - } - - /** - * @return Localized Name of the Banner Pattern - */ - public String getLocalizedName() { - return localizedName; - } - - /** - * @return Material of the Banner Pattern - */ - public Material getBannerPatternMaterial() { - return bannerPatternMaterial; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/BookGenerationName.java b/implementation/src/main/java/de/epiceric/shopchest/language/BookGenerationName.java deleted file mode 100644 index b0bc651..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/BookGenerationName.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.epiceric.shopchest.language; - -import de.epiceric.shopchest.nms.CustomBookMeta; - -public class BookGenerationName { - - private String localizedName; - private CustomBookMeta.Generation generation; - - public BookGenerationName(CustomBookMeta.Generation generation, String localizedName) { - this.generation = generation; - this.localizedName = localizedName; - } - - /** - * @return Generation linked to the name - */ - public CustomBookMeta.Generation getGeneration() { - return generation; - } - - /** - * @return Name linked to the book generation - */ - public String getLocalizedName() { - return localizedName; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/EnchantmentName.java b/implementation/src/main/java/de/epiceric/shopchest/language/EnchantmentName.java deleted file mode 100644 index 277d951..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/EnchantmentName.java +++ /dev/null @@ -1,53 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.enchantments.Enchantment; - -public class EnchantmentName { - - private Enchantment enchantment; - private String localizedName; - - public EnchantmentName(Enchantment enchantment, String localizedName) { - this.enchantment = enchantment; - this.localizedName = localizedName; - } - - /** - * @return Enchantment linked to the name - */ - public Enchantment getEnchantment() { - return enchantment; - } - - /** - * @return Name linked to the enchantment - */ - public String getLocalizedName() { - return localizedName; - } - - public static class EnchantmentLevelName { - private int level; - private String localizedName; - - public EnchantmentLevelName(int level, String localizedName) { - this.level = level; - this.localizedName = localizedName; - } - - /** - * @return Level linked to the name - */ - public int getLevel() { - return level; - } - - /** - * @return Name linked to the level - */ - public String getLocalizedName() { - return localizedName; - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/EntityName.java b/implementation/src/main/java/de/epiceric/shopchest/language/EntityName.java deleted file mode 100644 index 953fb78..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/EntityName.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.entity.EntityType; - -public class EntityName { - - private String localizedName; - private EntityType entityType; - - public EntityName(EntityType entityType, String localizedName) { - this.entityType = entityType; - this.localizedName = localizedName; - } - - /** - * @return EntityType linked to the name - */ - public EntityType getEntityType() { - return entityType; - } - - /** - * @return Name linked to the EntityType - */ - public String getLocalizedName() { - return localizedName; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/ItemName.java b/implementation/src/main/java/de/epiceric/shopchest/language/ItemName.java deleted file mode 100644 index 5fd6354..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/ItemName.java +++ /dev/null @@ -1,42 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.Material; - -public class ItemName { - - private Material material; - private int subId; - private String localizedName; - - public ItemName(Material material, String localizedName) { - this(material, 0, localizedName); - } - - public ItemName(Material material, int subId, String localizedName) { - this.material = material; - this.subId = subId; - this.localizedName = localizedName; - } - - /** - * @return Material linked to the name - */ - public Material getMaterial() { - return material; - } - - /** - * @return Sub ID linked to the name - */ - public int getSubId() { - return subId; - } - - /** - * @return Name linked to the item - */ - public String getLocalizedName() { - return localizedName; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java b/implementation/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java deleted file mode 100644 index 3d777e5..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/LanguageUtils.java +++ /dev/null @@ -1,2578 +0,0 @@ -package de.epiceric.shopchest.language; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.LanguageConfiguration; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.nms.CustomBookMeta; -import de.epiceric.shopchest.nms.SpawnEggMeta; -import de.epiceric.shopchest.utils.Utils; - -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.EntityType; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BookMeta; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.inventory.meta.SkullMeta; -import org.bukkit.potion.Potion; -import org.bukkit.potion.PotionEffectType; -import org.bukkit.potion.PotionType; - -import java.util.ArrayList; -import java.util.Map; - -public class LanguageUtils { - - private static ShopChest plugin = ShopChest.getInstance(); - private static LanguageConfiguration langConfig; - - private static ArrayList itemNames = new ArrayList<>(); - private static ArrayList enchantmentNames = new ArrayList<>(); - private static ArrayList enchantmentLevelNames = new ArrayList<>(); - private static ArrayList potionEffectNames = new ArrayList<>(); - private static ArrayList entityNames = new ArrayList<>(); - private static ArrayList potionNames = new ArrayList<>(); - private static ArrayList musicDiscNames = new ArrayList<>(); - private static ArrayList bannerPatternNames = new ArrayList<>(); - private static ArrayList generationNames = new ArrayList<>(); - private static ArrayList messages = new ArrayList<>(); - - - private static void loadLegacy() { - // Add Block Names - itemNames.add(new ItemName(Material.valueOf("STONE"), langConfig.getString("tile.stone.stone.name", "Stone"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 1, langConfig.getString("tile.stone.granite.name", "Granite"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 2, langConfig.getString("tile.stone.graniteSmooth.name", "Polished Granite"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 3, langConfig.getString("tile.stone.diorite.name", "Diorite"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 4, langConfig.getString("tile.stone.dioriteSmooth.name", "Polished Diorite"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 5, langConfig.getString("tile.stone.andesite.name", "Andesite"))); - itemNames.add(new ItemName(Material.valueOf("STONE"), 6, langConfig.getString("tile.stone.andesiteSmooth.name", "Polished Andesite"))); - itemNames.add(new ItemName(Material.valueOf("GRASS"), langConfig.getString("tile.grass.name", "Grass Block"))); - itemNames.add(new ItemName(Material.valueOf("DIRT"), langConfig.getString("tile.dirt.default.name", "Dirt"))); - itemNames.add(new ItemName(Material.valueOf("DIRT"), 1, langConfig.getString("tile.dirt.coarse.name", "Coarse Dirt"))); - itemNames.add(new ItemName(Material.valueOf("DIRT"), 2, langConfig.getString("tile.dirt.podzol.name", "Podzol"))); - itemNames.add(new ItemName(Material.valueOf("COBBLESTONE"), langConfig.getString("tile.stonebrick.name", "Cobblestone"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), langConfig.getString("tile.wood.oak.name", "Oak Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), 1, langConfig.getString("tile.wood.spruce.name", "Spruce Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), 2, langConfig.getString("tile.wood.birch.name", "Birch Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), 3, langConfig.getString("tile.wood.jungle.name", "Jungle Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), 4, langConfig.getString("tile.wood.acacia.name", "Acacia Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("WOOD"), 5, langConfig.getString("tile.wood.big_oak.name", "Dark Oak Wood Planks"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), langConfig.getString("tile.sapling.oak.name", "Oak Sapling"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), 1, langConfig.getString("tile.sapling.spruce.name", "Spruce Sapling"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), 2, langConfig.getString("tile.sapling.birch.name", "Birch Sapling"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), 3, langConfig.getString("tile.sapling.jungle.name", "Jungle Sapling"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), 4, langConfig.getString("tile.sapling.acacia.name", "Acacia Sapling"))); - itemNames.add(new ItemName(Material.valueOf("SAPLING"), 5, langConfig.getString("tile.sapling.big_oak.name", "Dark Oak Sapling"))); - itemNames.add(new ItemName(Material.valueOf("BEDROCK"), langConfig.getString("tile.bedrock.name", "Bedrock"))); - itemNames.add(new ItemName(Material.valueOf("WATER"), langConfig.getString("tile.water.name", "Water"))); - itemNames.add(new ItemName(Material.valueOf("LAVA"), langConfig.getString("tile.lava.name", "Lava"))); - itemNames.add(new ItemName(Material.valueOf("SAND"), langConfig.getString("tile.sand.default.name", "Sand"))); - itemNames.add(new ItemName(Material.valueOf("SAND"), 1, langConfig.getString("tile.sand.red.name", "Red Sand"))); - itemNames.add(new ItemName(Material.valueOf("GRAVEL"), langConfig.getString("tile.gravel.name", "Gravel"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_ORE"), langConfig.getString("tile.oreGold.name", "Gold Ore"))); - itemNames.add(new ItemName(Material.valueOf("IRON_ORE"), langConfig.getString("tile.oreIron.name", "Iron Ore"))); - itemNames.add(new ItemName(Material.valueOf("COAL_ORE"), langConfig.getString("tile.oreCoal.name", "Coal Ore"))); - itemNames.add(new ItemName(Material.valueOf("LOG"), langConfig.getString("tile.log.oak.name", "Oak Wood"))); - itemNames.add(new ItemName(Material.valueOf("LOG"), 1, langConfig.getString("tile.log.spruce.name", "Spruce Wood"))); - itemNames.add(new ItemName(Material.valueOf("LOG"), 2, langConfig.getString("tile.log.birch.name", "Birch Wood"))); - itemNames.add(new ItemName(Material.valueOf("LOG"), 3, langConfig.getString("tile.log.jungle.name", "Jungle Wood"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES"), langConfig.getString("tile.leaves.oak.name", "Oak Leaves"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES"), 1, langConfig.getString("tile.leaves.spruce.name", "Spruce Leaves"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES"), 2, langConfig.getString("tile.leaves.birch.name", "Birch Leaves"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES"), 3, langConfig.getString("tile.leaves.jungle.name", "Jungle Leaves"))); - itemNames.add(new ItemName(Material.valueOf("SPONGE"), langConfig.getString("tile.sponge.dry.name", "Sponge"))); - itemNames.add(new ItemName(Material.valueOf("SPONGE"), 1, langConfig.getString("tile.sponge.wet.name", "Wet Sponge"))); - itemNames.add(new ItemName(Material.valueOf("GLASS"), langConfig.getString("tile.glass.name", "Glass"))); - itemNames.add(new ItemName(Material.valueOf("LAPIS_ORE"), langConfig.getString("tile.oreLapis.name", "Lapis Lazuli Ore"))); - itemNames.add(new ItemName(Material.valueOf("LAPIS_BLOCK"), langConfig.getString("tile.blockLapis.name", "Lapis Lazuli Block"))); - itemNames.add(new ItemName(Material.valueOf("DISPENSER"), langConfig.getString("tile.dispenser.name", "Dispenser"))); - itemNames.add(new ItemName(Material.valueOf("SANDSTONE"), langConfig.getString("tile.sandStone.default.name", "Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("SANDSTONE"), 1, langConfig.getString("tile.sandStone.chiseled.name", "Chiseled Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("SANDSTONE"), 2, langConfig.getString("tile.sandStone.smooth.name", "Smooth Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("NOTE_BLOCK"), langConfig.getString("tile.musicBlock.name", "Note Block"))); - itemNames.add(new ItemName(Material.valueOf("POWERED_RAIL"), langConfig.getString("tile.goldenRail.name", "Powered Rail"))); - itemNames.add(new ItemName(Material.valueOf("DETECTOR_RAIL"), langConfig.getString("tile.detectorRail.name", "Detector Rail"))); - itemNames.add(new ItemName(Material.valueOf("PISTON_STICKY_BASE"), langConfig.getString("tile.pistonStickyBase.name", "Sticky Piston"))); - itemNames.add(new ItemName(Material.valueOf("WEB"), langConfig.getString("tile.web.name", "Web"))); - itemNames.add(new ItemName(Material.valueOf("LONG_GRASS"), langConfig.getString("tile.tallgrass.shrub.name", "Shrub"))); - itemNames.add(new ItemName(Material.valueOf("LONG_GRASS"), 1, langConfig.getString("tile.tallgrass.grass.name", "Grass"))); - itemNames.add(new ItemName(Material.valueOf("LONG_GRASS"), 2, langConfig.getString("tile.tallgrass.fern.name", "Fern"))); - itemNames.add(new ItemName(Material.valueOf("DEAD_BUSH"), langConfig.getString("tile.deadbush.name", "Dead Bush"))); - itemNames.add(new ItemName(Material.valueOf("PISTON_BASE"), langConfig.getString("tile.pistonBase.name", "Piston"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), langConfig.getString("tile.cloth.white.name", "White Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 1, langConfig.getString("tile.cloth.orange.name", "Orange Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 2, langConfig.getString("tile.cloth.magenta.name", "Magenta Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 3, langConfig.getString("tile.cloth.lightBlue.name", "Light Blue Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 4, langConfig.getString("tile.cloth.yellow.name", "Yellow Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 5, langConfig.getString("tile.cloth.lime.name", "Lime Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 6, langConfig.getString("tile.cloth.pink.name", "Pink Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 7, langConfig.getString("tile.cloth.gray.name", "Gray Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 8, langConfig.getString("tile.cloth.silver.name", "Light Gray Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 9, langConfig.getString("tile.cloth.cyan.name", "Cyan Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 10, langConfig.getString("tile.cloth.purple.name", "Purple Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 11, langConfig.getString("tile.cloth.blue.name", "Blue Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 12, langConfig.getString("tile.cloth.brown.name", "Brown Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 13, langConfig.getString("tile.cloth.green.name", "Green Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 14, langConfig.getString("tile.cloth.red.name", "Red Wool"))); - itemNames.add(new ItemName(Material.valueOf("WOOL"), 15, langConfig.getString("tile.cloth.black.name", "Black Wool"))); - itemNames.add(new ItemName(Material.valueOf("YELLOW_FLOWER"), langConfig.getString("tile.flower1.dandelion.name", "Dandelion"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), langConfig.getString("tile.flower2.poppy.name", "Poppy"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 1, langConfig.getString("tile.flower2.blueOrchid.name", "Blue Orchid"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 2, langConfig.getString("tile.flower2.allium.name", "Allium"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 3, langConfig.getString("tile.flower2.houstonia.name", "Azure Bluet"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 4, langConfig.getString("tile.flower2.tulipRed.name", "Red Tulip"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 5, langConfig.getString("tile.flower2.tulipOrange.name", "Orange Tulip"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 6, langConfig.getString("tile.flower2.tulipWhite.name", "White Tulip"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 7, langConfig.getString("tile.flower2.tulipPink.name", "Pink Tulip"))); - itemNames.add(new ItemName(Material.valueOf("RED_ROSE"), 8, langConfig.getString("tile.flower2.oxeyeDaisy.name", "Oxeye Daisy"))); - itemNames.add(new ItemName(Material.valueOf("BROWN_MUSHROOM"), langConfig.getString("tile.mushroom.name", "Mushroom"))); - itemNames.add(new ItemName(Material.valueOf("RED_MUSHROOM"), langConfig.getString("tile.mushroom.name", "Mushroom"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_BLOCK"), langConfig.getString("tile.blockGold.name", "Block of Gold"))); - itemNames.add(new ItemName(Material.valueOf("IRON_BLOCK"), langConfig.getString("tile.blockIron.name", "Block of Iron"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), langConfig.getString("tile.stoneSlab.stone.name", "Stone Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 1, langConfig.getString("tile.stoneSlab.sand.name", "Sandstone Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 2, langConfig.getString("tile.stoneSlab.wood.name", "Wooden Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 3, langConfig.getString("tile.stoneSlab.cobble.name", "Cobblestone Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 4, langConfig.getString("tile.stoneSlab.brick.name", "Brick Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 5, langConfig.getString("tile.stoneSlab.smoothStoneBrick.name", "Stone Brick Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 6, langConfig.getString("tile.stoneSlab.netherBrick.name", "Nether Brick Slab"))); - itemNames.add(new ItemName(Material.valueOf("STEP"), 7, langConfig.getString("tile.stoneSlab.quartz.name", "Quartz Slab"))); - itemNames.add(new ItemName(Material.valueOf("BRICK"), langConfig.getString("tile.brick.name", "Brick"))); - itemNames.add(new ItemName(Material.valueOf("TNT"), langConfig.getString("tile.tnt.name", "TNT"))); - itemNames.add(new ItemName(Material.valueOf("BOOKSHELF"), langConfig.getString("tile.bookshelf.name", "Bookshelf"))); - itemNames.add(new ItemName(Material.valueOf("MOSSY_COBBLESTONE"), langConfig.getString("tile.stoneMoss.name", "Moss Stone"))); - itemNames.add(new ItemName(Material.valueOf("OBSIDIAN"), langConfig.getString("tile.obsidian.name", "Obsidian"))); - itemNames.add(new ItemName(Material.valueOf("TORCH"), langConfig.getString("tile.torch.name", "Torch"))); - itemNames.add(new ItemName(Material.valueOf("FIRE"), langConfig.getString("tile.fire.name", "Fire"))); - itemNames.add(new ItemName(Material.valueOf("MOB_SPAWNER"), langConfig.getString("tile.mobSpawner.name", "Mob Spawner"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STAIRS"), langConfig.getString("tile.stairsWood.name", "Oak Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("CHEST"), langConfig.getString("tile.chest.name", "Chest"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_ORE"), langConfig.getString("tile.oreDiamond.name", "Diamond Ore"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_BLOCK"), langConfig.getString("tile.blockDiamond.name", "Block of Diamond"))); - itemNames.add(new ItemName(Material.valueOf("WORKBENCH"), langConfig.getString("tile.workbench.name", "Crafting Table"))); - itemNames.add(new ItemName(Material.valueOf("SOIL"), langConfig.getString("tile.farmland.name", "Farmland"))); - itemNames.add(new ItemName(Material.valueOf("FURNACE"), langConfig.getString("tile.furnace.name", "Furnace"))); - itemNames.add(new ItemName(Material.valueOf("LADDER"), langConfig.getString("tile.ladder.name", "Ladder"))); - itemNames.add(new ItemName(Material.valueOf("RAILS"), langConfig.getString("tile.rail.name", "Rail"))); - itemNames.add(new ItemName(Material.valueOf("COBBLESTONE_STAIRS"), langConfig.getString("tile.stairsStone.name", "Stone Stairs"))); - itemNames.add(new ItemName(Material.valueOf("LEVER"), langConfig.getString("tile.lever.name", "Lever"))); - itemNames.add(new ItemName(Material.valueOf("STONE_PLATE"), langConfig.getString("tile.pressurePlateStone.name", "Stone Pressure Plate"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_PLATE"), langConfig.getString("tile.pressurePlateWood.name", "Wooden Pressure Plate"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE_ORE"), langConfig.getString("tile.oreRedstone.name", "Redstone Ore"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE_TORCH_ON"), langConfig.getString("tile.notGate.name", "Redstone Torch"))); - itemNames.add(new ItemName(Material.valueOf("SNOW"), langConfig.getString("tile.snow.name", "Snow"))); - itemNames.add(new ItemName(Material.valueOf("ICE"), langConfig.getString("tile.ice.name", "Ice"))); - itemNames.add(new ItemName(Material.valueOf("SNOW_BLOCK"), langConfig.getString("tile.snow.name", "Snow"))); - itemNames.add(new ItemName(Material.valueOf("CACTUS"), langConfig.getString("tile.cactus.name", "Cactus"))); - itemNames.add(new ItemName(Material.valueOf("CLAY"), langConfig.getString("tile.clay.name", "Clay"))); - itemNames.add(new ItemName(Material.valueOf("JUKEBOX"), langConfig.getString("tile.jukebox.name", "Jukebox"))); - itemNames.add(new ItemName(Material.valueOf("FENCE"), langConfig.getString("tile.fence.name", "Oak Fence"))); - itemNames.add(new ItemName(Material.valueOf("PUMPKIN"), langConfig.getString("tile.pumpkin.name", "Pumpkin"))); - itemNames.add(new ItemName(Material.valueOf("NETHERRACK"), langConfig.getString("tile.hellrock.name", "Netherrack"))); - itemNames.add(new ItemName(Material.valueOf("SOUL_SAND"), langConfig.getString("tile.hellsand.name", "Soul Sand"))); - itemNames.add(new ItemName(Material.valueOf("GLOWSTONE"), langConfig.getString("tile.lightgem.name", "Glowstone"))); - itemNames.add(new ItemName(Material.valueOf("PORTAL"), langConfig.getString("tile.portal.name", "Portal"))); - itemNames.add(new ItemName(Material.valueOf("JACK_O_LANTERN"), langConfig.getString("tile.litpumpkin.name", "Jack o'Lantern"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), langConfig.getString("tile.stainedGlass.white.name", "White Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 1, langConfig.getString("tile.stainedGlass.orange.name", "Orange Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 2, langConfig.getString("tile.stainedGlass.magenta.name", "Magenta Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 3, langConfig.getString("tile.stainedGlass.lightBlue.name", "Light Blue Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 4, langConfig.getString("tile.stainedGlass.yellow.name", "Yellow Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 5, langConfig.getString("tile.stainedGlass.lime.name", "Lime Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 6, langConfig.getString("tile.stainedGlass.pink.name", "Pink Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 7, langConfig.getString("tile.stainedGlass.gray.name", "Gray Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 8, langConfig.getString("tile.stainedGlass.silver.name", "Light Gray Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 9, langConfig.getString("tile.stainedGlass.cyan.name", "Cyan Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 10, langConfig.getString("tile.stainedGlass.purple.name", "Purple Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 11, langConfig.getString("tile.stainedGlass.blue.name", "Blue Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 12, langConfig.getString("tile.stainedGlass.brown.name", "Brown Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 13, langConfig.getString("tile.stainedGlass.green.name", "Green Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 14, langConfig.getString("tile.stainedGlass.red.name", "Red Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS"), 15, langConfig.getString("tile.stainedGlass.black.name", "Black Stained Glass"))); - itemNames.add(new ItemName(Material.valueOf("TRAP_DOOR"), langConfig.getString("tile.trapdoor.name", "Wooden Trapdoor"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), langConfig.getString("tile.monsterStoneEgg.stone.name", "Stone Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), 1, langConfig.getString("tile.monsterStoneEgg.cobble.name", "Cobblestone Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), 2, langConfig.getString("tile.monsterStoneEgg.brick.name", "Stone Brick Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), 3, langConfig.getString("tile.monsterStoneEgg.mossybrick.name", "Mossy Stone Brick Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), 4, langConfig.getString("tile.monsterStoneEgg.crackedbrick.name", "Cracked Stone Brick Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGGS"), 5, langConfig.getString("tile.monsterStoneEgg.chiseledbrick.name", "Chiseled Stone Brick Monster Egg"))); - itemNames.add(new ItemName(Material.valueOf("SMOOTH_BRICK"), langConfig.getString("tile.stonebricksmooth.default.name", "Stone Bricks"))); - itemNames.add(new ItemName(Material.valueOf("SMOOTH_BRICK"), 1, langConfig.getString("tile.stonebricksmooth.mossy.name", "Mossy Stone Bricks"))); - itemNames.add(new ItemName(Material.valueOf("SMOOTH_BRICK"), 2, langConfig.getString("tile.stonebricksmooth.cracked.name", "Cracked Stone Bricks"))); - itemNames.add(new ItemName(Material.valueOf("SMOOTH_BRICK"), 3, langConfig.getString("tile.stonebricksmooth.chiseled.name", "Chiseled Stone Bricks"))); - itemNames.add(new ItemName(Material.valueOf("HUGE_MUSHROOM_1"), langConfig.getString("tile.mushroom.name", "Mushroom"))); - itemNames.add(new ItemName(Material.valueOf("HUGE_MUSHROOM_2"), langConfig.getString("tile.mushroom.name", "Mushroom"))); - itemNames.add(new ItemName(Material.valueOf("IRON_FENCE"), langConfig.getString("tile.fenceIron.name", "Iron Bars"))); - itemNames.add(new ItemName(Material.valueOf("THIN_GLASS"), langConfig.getString("tile.thinGlass.name", "Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("MELON_BLOCK"), langConfig.getString("tile.melon.name", "Melon"))); - itemNames.add(new ItemName(Material.valueOf("VINE"), langConfig.getString("tile.vine.name", "Vines"))); - itemNames.add(new ItemName(Material.valueOf("FENCE_GATE"), langConfig.getString("tile.fenceGate.name", "Oak Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("BRICK_STAIRS"), langConfig.getString("tile.stairsBrick.name", "Brick Stairs"))); - itemNames.add(new ItemName(Material.valueOf("SMOOTH_STAIRS"), langConfig.getString("tile.stairsStoneBrickSmooth.name", "Stone Brick Stairs"))); - itemNames.add(new ItemName(Material.valueOf("MYCEL"), langConfig.getString("tile.mycel.name", "Mycelium"))); - itemNames.add(new ItemName(Material.valueOf("WATER_LILY"), langConfig.getString("tile.waterlily.name", "Lily Pad"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_BRICK"), langConfig.getString("tile.netherBrick.name", "Nether Brick"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_FENCE"), langConfig.getString("tile.netherFence.name", "Nether Brick Fence"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_BRICK_STAIRS"), langConfig.getString("tile.stairsNetherBrick.name", "Nether Brick Stairs"))); - itemNames.add(new ItemName(Material.valueOf("ENCHANTMENT_TABLE"), langConfig.getString("tile.enchantmentTable.name", "Enchantment Table"))); - itemNames.add(new ItemName(Material.valueOf("ENDER_PORTAL_FRAME"), langConfig.getString("tile.endPortalFrame.name", "End Portal Frame"))); - itemNames.add(new ItemName(Material.valueOf("ENDER_STONE"), langConfig.getString("tile.whiteStone.name", "End Stone"))); - itemNames.add(new ItemName(Material.valueOf("DRAGON_EGG"), langConfig.getString("tile.dragonEgg.name", "Dragon Egg"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE_LAMP_OFF"), langConfig.getString("tile.redstoneLight.name", "Redstone Lamp"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), langConfig.getString("tile.woodSlab.oak.name", "Oak Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), 1, langConfig.getString("tile.woodSlab.spruce.name", "Spruce Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), 2, langConfig.getString("tile.woodSlab.birch.name", "Birch Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), 3, langConfig.getString("tile.woodSlab.jungle.name", "Jungle Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), 4, langConfig.getString("tile.woodSlab.acacia.name", "Acacia Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_STEP"), 5, langConfig.getString("tile.woodSlab.big_oak.name", "Dark Oak Wood Slab"))); - itemNames.add(new ItemName(Material.valueOf("SANDSTONE_STAIRS"), langConfig.getString("tile.stairsSandStone.name", "Mycelium"))); - itemNames.add(new ItemName(Material.valueOf("EMERALD_ORE"), langConfig.getString("tile.oreEmerald.name", "Emerald Ore"))); - itemNames.add(new ItemName(Material.valueOf("ENDER_CHEST"), langConfig.getString("tile.enderChest.name", "Ender Chest"))); - itemNames.add(new ItemName(Material.valueOf("TRIPWIRE_HOOK"), langConfig.getString("tile.tripWireSource.name", "Tripwire Hook"))); - itemNames.add(new ItemName(Material.valueOf("EMERALD_BLOCK"), langConfig.getString("tile.blockEmerald.name", "Block of Emerald"))); - itemNames.add(new ItemName(Material.valueOf("SPRUCE_WOOD_STAIRS"), langConfig.getString("tile.stairsWoodSpruce.name", "Spruce Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("BIRCH_WOOD_STAIRS"), langConfig.getString("tile.stairsWoodBirch.name", "Birch Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("JUNGLE_WOOD_STAIRS"), langConfig.getString("tile.stairsWoodJungle.name", "Jungle Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("COMMAND"), langConfig.getString("tile.commandBlock.name", "Command Block"))); - itemNames.add(new ItemName(Material.valueOf("BEACON"), langConfig.getString("tile.beacon.name", "Beacon"))); - itemNames.add(new ItemName(Material.valueOf("COBBLE_WALL"), langConfig.getString("tile.cobbleWall.normal.name", "Cobblestone Wall"))); - itemNames.add(new ItemName(Material.valueOf("COBBLE_WALL"), 1, langConfig.getString("tile.cobbleWall.mossy.name", "Mossy Cobblestone Wall"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_BUTTON"), langConfig.getString("tile.button.name", "Button"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_STALK"), langConfig.getString("tile.netherStalk.name", "Nether Wart"))); - itemNames.add(new ItemName(Material.valueOf("ANVIL"), langConfig.getString("tile.anvil.intact.name", "Anvil"))); - itemNames.add(new ItemName(Material.valueOf("ANVIL"), 1, langConfig.getString("tile.anvil.slightlyDamaged.name", "Slightly Damaged Anvil"))); - itemNames.add(new ItemName(Material.valueOf("ANVIL"), 2, langConfig.getString("tile.anvil.veryDamaged.name", "Very Damaged Anvil"))); - itemNames.add(new ItemName(Material.valueOf("TRAPPED_CHEST"), langConfig.getString("tile.chestTrap.name", "Trapped Chest"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_PLATE"), langConfig.getString("tile.weightedPlate_light.name", "Weighted Pressure Plate (Light)"))); - itemNames.add(new ItemName(Material.valueOf("IRON_PLATE"), langConfig.getString("tile.weightedPlate_heavy.name", "Weighted Pressure Plate (Heavy)"))); - itemNames.add(new ItemName(Material.valueOf("DAYLIGHT_DETECTOR"), langConfig.getString("tile.daylightDetector.name", "Daylight Sensor"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE_BLOCK"), langConfig.getString("tile.blockRedstone.name", "Block of Redstone"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ_ORE"), langConfig.getString("tile.netherquartz.name", "Nether Quartz Ore"))); - itemNames.add(new ItemName(Material.valueOf("HOPPER"), langConfig.getString("tile.hopper.name", "Hopper"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ_BLOCK"), langConfig.getString("tile.quartzBlock.default.name", "Block of Quartz"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ_BLOCK"), langConfig.getString("tile.quartzBlock.chiseled.name", "Chiseled Quartz Block"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ_BLOCK"), langConfig.getString("tile.quartzBlock.lines.name", "Pillar Quartz Block"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ_STAIRS"), langConfig.getString("tile.stairsQuartz.name", "Quartz Stairs"))); - itemNames.add(new ItemName(Material.valueOf("ACTIVATOR_RAIL"), langConfig.getString("tile.activatorRail.name", "Activator Rail"))); - itemNames.add(new ItemName(Material.valueOf("DROPPER"), langConfig.getString("tile.dropper.name", "Dropper"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), langConfig.getString("tile.clayHardenedStained.white.name", "White Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 1, langConfig.getString("tile.clayHardenedStained.orange.name", "Orange Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 2, langConfig.getString("tile.clayHardenedStained.magenta.name", "Magenta Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 3, langConfig.getString("tile.clayHardenedStained.lightBlue.name", "Light Blue Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 4, langConfig.getString("tile.clayHardenedStained.yellow.name", "Yellow Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 5, langConfig.getString("tile.clayHardenedStained.lime.name", "Lime Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 6, langConfig.getString("tile.clayHardenedStained.pink.name", "Pink Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 7, langConfig.getString("tile.clayHardenedStained.gray.name", "Gray Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 8, langConfig.getString("tile.clayHardenedStained.silver.name", "Light Gray Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 9, langConfig.getString("tile.clayHardenedStained.cyan.name", "Cyan Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 10, langConfig.getString("tile.clayHardenedStained.purple.name", "Purple Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 11, langConfig.getString("tile.clayHardenedStained.blue.name", "Blue Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 12, langConfig.getString("tile.clayHardenedStained.brown.name", "Brown Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 13, langConfig.getString("tile.clayHardenedStained.green.name", "Green Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 14, langConfig.getString("tile.clayHardenedStained.red.name", "Red Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_CLAY"), 15, langConfig.getString("tile.clayHardenedStained.black.name", "Black Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), langConfig.getString("tile.thinStainedGlass.white.name", "White Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 1, langConfig.getString("tile.thinStainedGlass.orange.name", "Orange Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 2, langConfig.getString("tile.thinStainedGlass.magenta.name", "Magenta Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 3, langConfig.getString("tile.thinStainedGlass.lightBlue.name", "Light Blue Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 4, langConfig.getString("tile.thinStainedGlass.yellow.name", "Yellow Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 5, langConfig.getString("tile.thinStainedGlass.lime.name", "Lime Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 6, langConfig.getString("tile.thinStainedGlass.pink.name", "Pink Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 7, langConfig.getString("tile.thinStainedGlass.gray.name", "Gray Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 8, langConfig.getString("tile.thinStainedGlass.silver.name", "Light Gray Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 9, langConfig.getString("tile.thinStainedGlass.cyan.name", "Cyan Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 10, langConfig.getString("tile.thinStainedGlass.purple.name", "Purple Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 11, langConfig.getString("tile.thinStainedGlass.blue.name", "Blue Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 12, langConfig.getString("tile.thinStainedGlass.brown.name", "Brown Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 13, langConfig.getString("tile.thinStainedGlass.green.name", "Green Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 14, langConfig.getString("tile.thinStainedGlass.red.name", "Red Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("STAINED_GLASS_PANE"), 15, langConfig.getString("tile.thinStainedGlass.black.name", "Black Stained Glass Pane"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES_2"), langConfig.getString("tile.leaves.acacia.name", "Acacia Leaves"))); - itemNames.add(new ItemName(Material.valueOf("LEAVES_2"), 1, langConfig.getString("tile.leaves.big_oak.name", "Dark Oak Leaves"))); - itemNames.add(new ItemName(Material.valueOf("LOG_2"), langConfig.getString("tile.log.acacia.name", "Acacia Wood"))); - itemNames.add(new ItemName(Material.valueOf("LOG_2"), 1, langConfig.getString("tile.log.big_oak.name", "Dark Oak Wood"))); - itemNames.add(new ItemName(Material.valueOf("ACACIA_STAIRS"), langConfig.getString("tile.stairsWoodAcacia.name", "Acacia Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("DARK_OAK_STAIRS"), langConfig.getString("tile.stairsWoodDarkOak.name", "Dark Oak Wood Stairs"))); - itemNames.add(new ItemName(Material.valueOf("SLIME_BLOCK"), langConfig.getString("tile.slime.name", "Slime Block"))); - itemNames.add(new ItemName(Material.valueOf("BARRIER"), langConfig.getString("tile.barrier.name", "Barrier"))); - itemNames.add(new ItemName(Material.valueOf("IRON_TRAPDOOR"), langConfig.getString("tile.ironTrapdoor.name", "Iron Trapdoor"))); - itemNames.add(new ItemName(Material.valueOf("PRISMARINE"), langConfig.getString("tile.prismarine.rough.name", "Prismarine"))); - itemNames.add(new ItemName(Material.valueOf("PRISMARINE"), 1, langConfig.getString("tile.prismarine.bricks.name", "Prismarine Bricks"))); - itemNames.add(new ItemName(Material.valueOf("PRISMARINE"), 2, langConfig.getString("tile.prismarine.dark.name", "Dark Prismarine"))); - itemNames.add(new ItemName(Material.valueOf("SEA_LANTERN"), langConfig.getString("tile.seaLantern.name", "Sea Lantern"))); - itemNames.add(new ItemName(Material.valueOf("HAY_BLOCK"), langConfig.getString("tile.hayBlock.name", "Hay Bale"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), langConfig.getString("tile.woolCarpet.white.name", "White Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 1, langConfig.getString("tile.woolCarpet.orange.name", "Orange Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 2, langConfig.getString("tile.woolCarpet.magenta.name", "Magenta Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 3, langConfig.getString("tile.woolCarpet.lightBlue.name", "Light Blue Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 4, langConfig.getString("tile.woolCarpet.yellow.name", "Yellow Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 5, langConfig.getString("tile.woolCarpet.lime.name", "Lime Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 6, langConfig.getString("tile.woolCarpet.pink.name", "Pink Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 7, langConfig.getString("tile.woolCarpet.gray.name", "Gray Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 8, langConfig.getString("tile.woolCarpet.silver.name", "Light Gray Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 9, langConfig.getString("tile.woolCarpet.cyan.name", "Cyan Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 10, langConfig.getString("tile.woolCarpet.purple.name", "Purple Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 11, langConfig.getString("tile.woolCarpet.blue.name", "Blue Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 12, langConfig.getString("tile.woolCarpet.brown.name", "Brown Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 13, langConfig.getString("tile.woolCarpet.green.name", "Green Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 14, langConfig.getString("tile.woolCarpet.red.name", "Red Carpet"))); - itemNames.add(new ItemName(Material.valueOf("CARPET"), 15, langConfig.getString("tile.woolCarpet.black.name", "Black Carpet"))); - itemNames.add(new ItemName(Material.valueOf("HARD_CLAY"), langConfig.getString("tile.clayHardened.name", "Hardened Clay"))); - itemNames.add(new ItemName(Material.valueOf("COAL_BLOCK"), langConfig.getString("tile.blockCoal.name", "Block of Coal"))); - itemNames.add(new ItemName(Material.valueOf("PACKED_ICE"), langConfig.getString("tile.icePacked.name", "Packed Ice"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), langConfig.getString("tile.doublePlant.sunflower.name", "Sunflower"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), 1, langConfig.getString("tile.doublePlant.syringa.name", "Lilac"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), 2, langConfig.getString("tile.doublePlant.grass.name", "Double Tallgrass"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), 3, langConfig.getString("tile.doublePlant.fern.name", "Large Fern"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), 4, langConfig.getString("tile.doublePlant.rose.name", "Rose Bush"))); - itemNames.add(new ItemName(Material.valueOf("DOUBLE_PLANT"), 5, langConfig.getString("tile.doublePlant.paeonia.name", "Peony"))); - itemNames.add(new ItemName(Material.valueOf("RED_SANDSTONE"), langConfig.getString("tile.redSandStone.default.name", "Red Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("RED_SANDSTONE"), 1, langConfig.getString("tile.redSandStone.chiseled.name", "Chiseled Red Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("RED_SANDSTONE"), 2, langConfig.getString("tile.redSandStone.smooth.name", "Smooth Red Sandstone"))); - itemNames.add(new ItemName(Material.valueOf("RED_SANDSTONE_STAIRS"), langConfig.getString("tile.stairsRedSandStone.name", "Red Sandstone Stairs"))); - itemNames.add(new ItemName(Material.valueOf("STONE_SLAB2"), langConfig.getString("tile.stoneSlab2.red_sandstone.name", "Red Sandstone Slab"))); - itemNames.add(new ItemName(Material.valueOf("SPRUCE_FENCE_GATE"), langConfig.getString("tile.spruceFenceGate.name", "Spruce Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("BIRCH_FENCE_GATE"), langConfig.getString("tile.birchFenceGate.name", "Birch Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("JUNGLE_FENCE_GATE"), langConfig.getString("tile.jungleFenceGate.name", "Jungle Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("DARK_OAK_FENCE_GATE"), langConfig.getString("tile.darkOakFenceGate.name", "Dark Oak Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("ACACIA_FENCE_GATE"), langConfig.getString("tile.acaciaFenceGate.name", "Acacia Fence Gate"))); - itemNames.add(new ItemName(Material.valueOf("SPRUCE_FENCE"), langConfig.getString("tile.spruceFence.name", "Spruce Fence"))); - itemNames.add(new ItemName(Material.valueOf("BIRCH_FENCE"), langConfig.getString("tile.birchFence.name", "Birch Fence"))); - itemNames.add(new ItemName(Material.valueOf("JUNGLE_FENCE"), langConfig.getString("tile.jungleFence.name", "Jungle Fence"))); - itemNames.add(new ItemName(Material.valueOf("DARK_OAK_FENCE"), langConfig.getString("tile.darkOakFence.name", "Dark Oak Fence"))); - itemNames.add(new ItemName(Material.valueOf("ACACIA_FENCE"), langConfig.getString("tile.acaciaFence.name", "Acacia Fence"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Block Names of 1.9 - itemNames.add(new ItemName(Material.valueOf("END_ROD"), langConfig.getString("tile.endRod.name", "End Rod"))); - itemNames.add(new ItemName(Material.valueOf("CHORUS_PLANT"), langConfig.getString("tile.chorusPlant.name", "Chorus Plant"))); - itemNames.add(new ItemName(Material.valueOf("CHORUS_FLOWER"), langConfig.getString("tile.chorusFlower.name", "Chorus Flower"))); - itemNames.add(new ItemName(Material.valueOf("PURPUR_BLOCK"), langConfig.getString("tile.purpurBlock.name", "Purpur Block"))); - itemNames.add(new ItemName(Material.valueOf("PURPUR_PILLAR"), langConfig.getString("tile.purpurPillar.name", "Purpur Pillar"))); - itemNames.add(new ItemName(Material.valueOf("PURPUR_STAIRS"), langConfig.getString("tile.stairsPurpur.name", "Purpur Stairs"))); - itemNames.add(new ItemName(Material.valueOf("PURPUR_SLAB"), langConfig.getString("tile.purpurSlab.name", "Purpur Slab"))); - itemNames.add(new ItemName(Material.valueOf("END_BRICKS"), langConfig.getString("tile.endBricks.name", "End Stone Bricks"))); - itemNames.add(new ItemName(Material.valueOf("GRASS_PATH"), langConfig.getString("tile.grassPath.name", "Grass Path"))); - itemNames.add(new ItemName(Material.valueOf("COMMAND_REPEATING"), langConfig.getString("tile.repeatingCommandBlock.name", "Repeating Command Block"))); - itemNames.add(new ItemName(Material.valueOf("COMMAND_CHAIN"), langConfig.getString("tile.chainCommandBlock.name", "Chain Command Block"))); - itemNames.add(new ItemName(Material.valueOf("STRUCTURE_BLOCK"), langConfig.getString("tile.structureBlock.name", "Structure Block"))); - } - - if (Utils.getMajorVersion() >= 10) { - // Add Block Names of 1.10 - itemNames.add(new ItemName(Material.valueOf("MAGMA"), langConfig.getString("tile.magma.name", "Magma Block"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_WART_BLOCK"), langConfig.getString("tile.netherWartBlock.name", "Nether Wart Block"))); - itemNames.add(new ItemName(Material.valueOf("RED_NETHER_BRICK"), langConfig.getString("tile.redNetherBrick.name", "Red Nether Brick"))); - itemNames.add(new ItemName(Material.valueOf("BONE_BLOCK"), langConfig.getString("tile.boneBlock.name", "Bone Block"))); - itemNames.add(new ItemName(Material.valueOf("STRUCTURE_VOID"), langConfig.getString("tile.structureVoid.name", "Structure Void"))); - } - - if (Utils.getMajorVersion() >= 11) { - // Add Block Names of 1.11 - itemNames.add(new ItemName(Material.valueOf("OBSERVER"), langConfig.getString("tile.observer.name", "Observer"))); - itemNames.add(new ItemName(Material.valueOf("WHITE_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxWhite.name", "White Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("ORANGE_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxOrange.name", "Orange Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("MAGENTA_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxMagenta.name", "Magenta Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("LIGHT_BLUE_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxLightBlue.name", "Light Blue Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("YELLOW_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxYellow.name", "Yellow Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("LIME_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxLime.name", "Lime Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("PINK_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxPink.name", "Pink Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("GRAY_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxGray.name", "Gray Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("SILVER_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxSilver.name", "Light Gray Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("CYAN_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxCyan.name", "Cyan Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("PURPLE_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxPurple.name", "Purple Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("BLUE_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxBlue.name", "Blue Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("BROWN_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxBrown.name", "Brown Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("GREEN_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxGreen.name", "Green Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("RED_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxRed.name", "Red Shulker Box"))); - itemNames.add(new ItemName(Material.valueOf("BLACK_SHULKER_BOX"), langConfig.getString("tile.shulkerBoxBlack.name", "Black Shulker Box"))); - } - - if (Utils.getMajorVersion() >= 12) { - // Add Block Names of 1.12 - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), langConfig.getString("tile.concrete.white.name", "White Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 1, langConfig.getString("tile.concrete.orange.name", "Orange Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 2, langConfig.getString("tile.concrete.magenta.name", "Magenta Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 3, langConfig.getString("tile.concrete.lightBlue.name", "Light Blue Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 4, langConfig.getString("tile.concrete.yellow.name", "Yellow Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 5, langConfig.getString("tile.concrete.lime.name", "Lime Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 6, langConfig.getString("tile.concrete.pink.name", "Pink Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 7, langConfig.getString("tile.concrete.gray.name", "Gray Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 8, langConfig.getString("tile.concrete.silver.name", "Light Gray Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 9, langConfig.getString("tile.concrete.cyan.name", "Cyan Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 10, langConfig.getString("tile.concrete.purple.name", "Purple Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 11, langConfig.getString("tile.concrete.blue.name", "Blue Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 12, langConfig.getString("tile.concrete.brown.name", "Brown Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 13, langConfig.getString("tile.concrete.green.name", "Green Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 14, langConfig.getString("tile.concrete.red.name", "Red Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE"), 15, langConfig.getString("tile.concrete.black.name", "Black Concrete"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), langConfig.getString("tile.concretePowder.white.name", "White Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 1, langConfig.getString("tile.concretePowder.orange.name", "Orange Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 2, langConfig.getString("tile.concretePowder.magenta.name", "Magenta Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 3, langConfig.getString("tile.concretePowder.lightBlue.name", "Light Blue Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 4, langConfig.getString("tile.concretePowder.yellow.name", "Yellow Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 5, langConfig.getString("tile.concretePowder.lime.name", "Lime Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 6, langConfig.getString("tile.concretePowder.pink.name", "Pink Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 7, langConfig.getString("tile.concretePowder.gray.name", "Gray Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 8, langConfig.getString("tile.concretePowder.silver.name", "Light Gray Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 9, langConfig.getString("tile.concretePowder.cyan.name", "Cyan Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 10, langConfig.getString("tile.concretePowder.purple.name", "Purple Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 11, langConfig.getString("tile.concretePowder.blue.name", "Blue Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 12, langConfig.getString("tile.concretePowder.brown.name", "Brown Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 13, langConfig.getString("tile.concretePowder.green.name", "Green Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 14, langConfig.getString("tile.concretePowder.red.name", "Red Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("CONCRETE_POWDER"), 15, langConfig.getString("tile.concretePowder.black.name", "Black Concrete Powder"))); - itemNames.add(new ItemName(Material.valueOf("WHITE_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaWhite.name", "White Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("ORANGE_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaOrange.name", "Orange Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("MAGENTA_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaMagenta.name", "Magenta Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("LIGHT_BLUE_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaLightBlue.name", "Light Blue Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("YELLOW_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaYellow.name", "Yellow Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("LIME_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaLime.name", "Lime Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("PINK_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaPink.name", "Pink Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("GRAY_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaGray.name", "Gray Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("SILVER_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaSilver.name", "Light Gray Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("CYAN_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaCyan.name", "Cyan Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("PURPLE_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaPurple.name", "Purple Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("BLUE_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaBlue.name", "Blue Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("BROWN_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaBrown.name", "Brown Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("GREEN_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaGreen.name", "Green Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("RED_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaRed.name", "Red Glazed Terracotta"))); - itemNames.add(new ItemName(Material.valueOf("BLACK_GLAZED_TERRACOTTA"), langConfig.getString("tile.glazedTerracottaBlack.name", "Black Glazed Terracotta"))); - } - - // Add Item Names - itemNames.add(new ItemName(Material.valueOf("IRON_SPADE"), langConfig.getString("item.shovelIron.name", "Iron Shovel"))); - itemNames.add(new ItemName(Material.valueOf("IRON_PICKAXE"), langConfig.getString("item.pickaxeIron.name", "Iron Pickaxe"))); - itemNames.add(new ItemName(Material.valueOf("IRON_AXE"), langConfig.getString("item.hatchetIron.name", "Iron Axe"))); - itemNames.add(new ItemName(Material.valueOf("FLINT_AND_STEEL"), langConfig.getString("item.flintAndSteel.name", "Flint and Steel"))); - itemNames.add(new ItemName(Material.valueOf("APPLE"), langConfig.getString("item.apple.name", "Apple"))); - itemNames.add(new ItemName(Material.valueOf("BOW"), langConfig.getString("item.bow.name", "Bow"))); - itemNames.add(new ItemName(Material.valueOf("ARROW"), langConfig.getString("item.arrow.name", "Arrow"))); - itemNames.add(new ItemName(Material.valueOf("COAL"), langConfig.getString("item.coal.name", "Coal"))); - itemNames.add(new ItemName(Material.valueOf("COAL"), 1, langConfig.getString("item.charcoal.name", "Charcoal"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND"), langConfig.getString("item.diamond.name", "Diamond"))); - itemNames.add(new ItemName(Material.valueOf("IRON_INGOT"), langConfig.getString("item.ingotIron.name", "Iron Ingot"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_INGOT"), langConfig.getString("item.ingotGold.name", "Gold Ingot"))); - itemNames.add(new ItemName(Material.valueOf("IRON_SWORD"), langConfig.getString("item.swordIron.name", "Iron Sword"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_SWORD"), langConfig.getString("item.swordWood.name", "Wooden Sword"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_SPADE"), langConfig.getString("item.shovelWood.name", "Wooden Shovel"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_PICKAXE"), langConfig.getString("item.pickaxeWood.name", "Wooden Pickaxe"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_AXE"), langConfig.getString("item.hatchetWood.name", "Wooden Axe"))); - itemNames.add(new ItemName(Material.valueOf("STONE_SWORD"), langConfig.getString("item.swordStone.name", "Stone Sword"))); - itemNames.add(new ItemName(Material.valueOf("STONE_SPADE"), langConfig.getString("item.shovelStone.name", "Stone Shovel"))); - itemNames.add(new ItemName(Material.valueOf("STONE_PICKAXE"), langConfig.getString("item.pickaxeStone.name", "Stone Pickaxe"))); - itemNames.add(new ItemName(Material.valueOf("STONE_AXE"), langConfig.getString("item.hatchetStone.name", "Stone Axe"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_SWORD"), langConfig.getString("item.swordDiamond.name", "Diamond Sword"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_SPADE"), langConfig.getString("item.shovelDiamond.name", "Diamond Shovel"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_PICKAXE"), langConfig.getString("item.pickaxeDiamond.name", "Diamond Pickaxe"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_AXE"), langConfig.getString("item.hatchetDiamond.name", "Diamond Axe"))); - itemNames.add(new ItemName(Material.valueOf("STICK"), langConfig.getString("item.stick.name", "Stick"))); - itemNames.add(new ItemName(Material.valueOf("BOWL"), langConfig.getString("item.bowl.name", "Bowl"))); - itemNames.add(new ItemName(Material.valueOf("MUSHROOM_SOUP"), langConfig.getString("item.mushroomStew.name", "Mushroom Stew"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_SWORD"), langConfig.getString("item.swordGold.name", "Golden Sword"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_SPADE"), langConfig.getString("item.shovelGold.name", "Golden Shovel"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_PICKAXE"), langConfig.getString("item.pickaxeGold.name", "Golden Pickaxe"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_AXE"), langConfig.getString("item.hatchetGold.name", "Golden Axe"))); - itemNames.add(new ItemName(Material.valueOf("STRING"), langConfig.getString("item.string.name", "String"))); - itemNames.add(new ItemName(Material.valueOf("FEATHER"), langConfig.getString("item.feather.name", "Feather"))); - itemNames.add(new ItemName(Material.valueOf("SULPHUR"), langConfig.getString("item.sulphur.name", "Gunpowder"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_HOE"), langConfig.getString("item.hoeWood.name", "Wooden Hoe"))); - itemNames.add(new ItemName(Material.valueOf("STONE_HOE"), langConfig.getString("item.hoeStone.name", "Stone Hoe"))); - itemNames.add(new ItemName(Material.valueOf("IRON_HOE"), langConfig.getString("item.hoeIron.name", "Iron Hoe"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_HOE"), langConfig.getString("item.hoeDiamond.name", "Diamond Hoe"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_HOE"), langConfig.getString("item.hoeGold.name", "Golden Hoe"))); - itemNames.add(new ItemName(Material.valueOf("SEEDS"), langConfig.getString("item.seeds.name", "Seeds"))); - itemNames.add(new ItemName(Material.valueOf("WHEAT"), langConfig.getString("item.wheat.name", "Wheat"))); - itemNames.add(new ItemName(Material.valueOf("BREAD"), langConfig.getString("item.bread.name", "Bread"))); - itemNames.add(new ItemName(Material.valueOf("LEATHER_HELMET"), langConfig.getString("item.helmetCloth.name", "Leather Cap"))); - itemNames.add(new ItemName(Material.valueOf("LEATHER_CHESTPLATE"), langConfig.getString("item.chestplateCloth.name", "Leather Tunic"))); - itemNames.add(new ItemName(Material.valueOf("LEATHER_LEGGINGS"), langConfig.getString("item.leggingsCloth.name", "Leather Pants"))); - itemNames.add(new ItemName(Material.valueOf("LEATHER_BOOTS"), langConfig.getString("item.bootsCloth.name", "Leather Boots"))); - itemNames.add(new ItemName(Material.valueOf("CHAINMAIL_HELMET"), langConfig.getString("item.helmetChain.name", "Chain Helmet"))); - itemNames.add(new ItemName(Material.valueOf("CHAINMAIL_CHESTPLATE"), langConfig.getString("item.chestplateChain.name", "Chain Chestplate"))); - itemNames.add(new ItemName(Material.valueOf("CHAINMAIL_LEGGINGS"), langConfig.getString("item.leggingsChain.name", "Chain Leggings"))); - itemNames.add(new ItemName(Material.valueOf("CHAINMAIL_BOOTS"), langConfig.getString("item.bootsChain.name", "Chain Boots"))); - itemNames.add(new ItemName(Material.valueOf("IRON_HELMET"), langConfig.getString("item.helmetIron.name", "Iron Helmet"))); - itemNames.add(new ItemName(Material.valueOf("IRON_CHESTPLATE"), langConfig.getString("item.chestplateIron.name", "Iron Chestplate"))); - itemNames.add(new ItemName(Material.valueOf("IRON_LEGGINGS"), langConfig.getString("item.leggingsIron.name", "Iron Leggings"))); - itemNames.add(new ItemName(Material.valueOf("IRON_BOOTS"), langConfig.getString("item.bootsIron.name", "Iron Boots"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_HELMET"), langConfig.getString("item.helmetDiamond.name", "Diamond Helmet"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_CHESTPLATE"), langConfig.getString("item.chestplateDiamond.name", "Diamond Chestplate"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_LEGGINGS"), langConfig.getString("item.leggingsDiamond.name", "Diamond Leggings"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_BOOTS"), langConfig.getString("item.bootsDiamond.name", "Diamond Boots"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_HELMET"), langConfig.getString("item.helmetGold.name", "Golden Helmet"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_CHESTPLATE"), langConfig.getString("item.chestplateGold.name", "Golden Chestplate"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_LEGGINGS"), langConfig.getString("item.leggingsGold.name", "Golden Leggings"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_BOOTS"), langConfig.getString("item.bootsGold.name", "Golden Boots"))); - itemNames.add(new ItemName(Material.valueOf("FLINT"), langConfig.getString("item.flint.name", "Flint"))); - itemNames.add(new ItemName(Material.valueOf("PORK"), langConfig.getString("item.porkchopRaw.name", "Raw Porkchop"))); - itemNames.add(new ItemName(Material.valueOf("GRILLED_PORK"), langConfig.getString("item.porkchopCooked.name", "Cooked Porkchop"))); - itemNames.add(new ItemName(Material.valueOf("PAINTING"), langConfig.getString("item.painting.name", "Painting"))); - itemNames.add(new ItemName(Material.valueOf("GOLDEN_APPLE"), langConfig.getString("item.appleGold.name", "Golden Apple"))); - itemNames.add(new ItemName(Material.valueOf("GOLDEN_APPLE"), 1, langConfig.getString("item.appleGold.name", "Golden Apple"))); - itemNames.add(new ItemName(Material.valueOf("SIGN"), langConfig.getString("item.sign.name", "Sign"))); - itemNames.add(new ItemName(Material.valueOf("WOOD_DOOR"), langConfig.getString("item.doorOak.name", "Oak Door"))); - itemNames.add(new ItemName(Material.valueOf("BUCKET"), langConfig.getString("item.bucket.name", "Bucket"))); - itemNames.add(new ItemName(Material.valueOf("WATER_BUCKET"), langConfig.getString("item.bucketWater.name", "Water Bucket"))); - itemNames.add(new ItemName(Material.valueOf("LAVA_BUCKET"), langConfig.getString("item.bucketLava.name", "Lava Bucket"))); - itemNames.add(new ItemName(Material.valueOf("MINECART"), langConfig.getString("item.minecart.name", "Minecart"))); - itemNames.add(new ItemName(Material.valueOf("SADDLE"), langConfig.getString("item.saddle.name", "Saddle"))); - itemNames.add(new ItemName(Material.valueOf("IRON_DOOR"), langConfig.getString("item.doorIron.name", "Iron Door"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE"), langConfig.getString("item.redstone.name", "Redstone"))); - itemNames.add(new ItemName(Material.valueOf("SNOW_BALL"), langConfig.getString("item.snowball.name", "Snowball"))); - itemNames.add(new ItemName(Material.valueOf("BOAT"), langConfig.getString("item.boat.oak.name", "Oak Boat"))); - itemNames.add(new ItemName(Material.valueOf("LEATHER"), langConfig.getString("item.leather.name", "Leather"))); - itemNames.add(new ItemName(Material.valueOf("MILK_BUCKET"), langConfig.getString("item.milk.name", "Milk"))); - itemNames.add(new ItemName(Material.valueOf("BRICK"), langConfig.getString("item.brick.name", "Brick"))); - itemNames.add(new ItemName(Material.valueOf("CLAY_BALL"), langConfig.getString("item.clay.name", "Clay"))); - itemNames.add(new ItemName(Material.valueOf("SUGAR_CANE"), langConfig.getString("item.reeds.name", "Sugar Canes"))); - itemNames.add(new ItemName(Material.valueOf("PAPER"), langConfig.getString("item.paper.name", "Paper"))); - itemNames.add(new ItemName(Material.valueOf("BOOK"), langConfig.getString("item.book.name", "Book"))); - itemNames.add(new ItemName(Material.valueOf("SLIME_BALL"), langConfig.getString("item.slimeball.name", "Slimeball"))); - itemNames.add(new ItemName(Material.valueOf("STORAGE_MINECART"), langConfig.getString("item.minecartChest.name", "Minecart with Chest"))); - itemNames.add(new ItemName(Material.valueOf("POWERED_MINECART"), langConfig.getString("item.minecartFurnace.name", "Minecart with Furnace"))); - itemNames.add(new ItemName(Material.valueOf("EGG"), langConfig.getString("item.egg.name", "Egg"))); - itemNames.add(new ItemName(Material.valueOf("COMPASS"), langConfig.getString("item.compass.name", "Compass"))); - itemNames.add(new ItemName(Material.valueOf("FISHING_ROD"), langConfig.getString("item.fishingRod.name", "Fishing Rod"))); - itemNames.add(new ItemName(Material.valueOf("WATCH"), langConfig.getString("item.clock.name", "Clock"))); - itemNames.add(new ItemName(Material.valueOf("GLOWSTONE_DUST"), langConfig.getString("item.yellowDust.name", "Glowstone Dust"))); - itemNames.add(new ItemName(Material.valueOf("RAW_FISH"), langConfig.getString("item.fish.cod.raw.name", "Raw Fish"))); - itemNames.add(new ItemName(Material.valueOf("RAW_FISH"), 1, langConfig.getString("item.fish.salmon.raw.name", "Raw Salmon"))); - itemNames.add(new ItemName(Material.valueOf("RAW_FISH"), 2, langConfig.getString("item.fish.clownfish.raw.name", "Clownfish"))); - itemNames.add(new ItemName(Material.valueOf("RAW_FISH"), 3, langConfig.getString("item.fish.pufferfish.raw.name", "Pufferfish"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_FISH"), langConfig.getString("item.fish.cod.cooked.name", "Cooked Fish"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_FISH"), 1, langConfig.getString("item.fish.salmon.cooked.name", "Cooked Salmon"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), langConfig.getString("item.dyePowder.black.name", "Ink Sac"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 1, langConfig.getString("item.dyePowder.red.name", "Rose Red"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 2, langConfig.getString("item.dyePowder.green.name", "Cactus Green"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 3, langConfig.getString("item.dyePowder.brown.name", "Cocoa Beans"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 4, langConfig.getString("item.dyePowder.blue.name", "Lapis Lazuli"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 5, langConfig.getString("item.dyePowder.purple.name", "Purple Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 6, langConfig.getString("item.dyePowder.cyan.name", "Cyan Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 7, langConfig.getString("item.dyePowder.silver.name", "Light Gray Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 8, langConfig.getString("item.dyePowder.gray.name", "Gray Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 9, langConfig.getString("item.dyePowder.pink.name", "Pink Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 10, langConfig.getString("item.dyePowder.lime.name", "Lime Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 11, langConfig.getString("item.dyePowder.yellow.name", "Dandelion Yellow"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 12, langConfig.getString("item.dyePowder.lightBlue.name", "Light Blue Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 13, langConfig.getString("item.dyePowder.magenta.name", "Magenta Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 14, langConfig.getString("item.dyePowder.orange.name", "Orange Dye"))); - itemNames.add(new ItemName(Material.valueOf("INK_SACK"), 15, langConfig.getString("item.dyePowder.white.name", "Bone Meal"))); - itemNames.add(new ItemName(Material.valueOf("BONE"), langConfig.getString("item.bone.name", "Bone"))); - itemNames.add(new ItemName(Material.valueOf("SUGAR"), langConfig.getString("item.sugar.name", "Sugar"))); - itemNames.add(new ItemName(Material.valueOf("CAKE"), langConfig.getString("item.cake.name", "Cake"))); - itemNames.add(new ItemName(Material.valueOf("DIODE"), langConfig.getString("item.diode.name", "Redstone Repeater"))); - itemNames.add(new ItemName(Material.valueOf("COOKIE"), langConfig.getString("item.cookie.name", "Cookie"))); - itemNames.add(new ItemName(Material.valueOf("MAP"), langConfig.getString("item.map.name", "Map"))); - itemNames.add(new ItemName(Material.valueOf("SHEARS"), langConfig.getString("item.shears.name", "Shears"))); - itemNames.add(new ItemName(Material.valueOf("MELON"), langConfig.getString("item.melon.name", "Melon"))); - itemNames.add(new ItemName(Material.valueOf("PUMPKIN_SEEDS"), langConfig.getString("item.seeds_pumpkin.name", "Pumpkin Seeds"))); - itemNames.add(new ItemName(Material.valueOf("MELON_SEEDS"), langConfig.getString("item.seeds_melon.name", "Melon Seeds"))); - itemNames.add(new ItemName(Material.valueOf("RAW_BEEF"), langConfig.getString("item.beefRaw.name", "Raw Beef"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_BEEF"), langConfig.getString("item.beefCooked.name", "Steak"))); - itemNames.add(new ItemName(Material.valueOf("RAW_CHICKEN"), langConfig.getString("item.chickenRaw.name", "Raw Chicken"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_CHICKEN"), langConfig.getString("item.chickenCooked.name", "Cooked Chicken"))); - itemNames.add(new ItemName(Material.valueOf("ROTTEN_FLESH"), langConfig.getString("item.rottenFlesh.name", "Rotten Flesh"))); - itemNames.add(new ItemName(Material.valueOf("ENDER_PEARL"), langConfig.getString("item.enderPearl.name", "Ender Pearl"))); - itemNames.add(new ItemName(Material.valueOf("BLAZE_ROD"), langConfig.getString("item.blazeRod.name", "Blaze Rod"))); - itemNames.add(new ItemName(Material.valueOf("GHAST_TEAR"), langConfig.getString("item.ghastTear.name", "Ghast Tear"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_NUGGET"), langConfig.getString("item.goldNugget.name", "Gold Nugget"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_WARTS"), langConfig.getString("item.netherStalkSeeds.name", "Nether Wart"))); - itemNames.add(new ItemName(Material.valueOf("POTION"), langConfig.getString("item.potion.name", "Potion"))); - itemNames.add(new ItemName(Material.valueOf("GLASS_BOTTLE"), langConfig.getString("item.glassBottle.name", "Glass Bottle"))); - itemNames.add(new ItemName(Material.valueOf("SPIDER_EYE"), langConfig.getString("item.spiderEye.name", "Spider Eye"))); - itemNames.add(new ItemName(Material.valueOf("FERMENTED_SPIDER_EYE"), langConfig.getString("item.fermentedSpiderEye.name", "Fermented Spider Eye"))); - itemNames.add(new ItemName(Material.valueOf("BLAZE_POWDER"), langConfig.getString("item.blazePowder.name", "Blaze Powder"))); - itemNames.add(new ItemName(Material.valueOf("MAGMA_CREAM"), langConfig.getString("item.magmaCream.name", "Magma Cream"))); - itemNames.add(new ItemName(Material.valueOf("BREWING_STAND_ITEM"), langConfig.getString("item.brewingStand.name", "Brewing Stand"))); - itemNames.add(new ItemName(Material.valueOf("CAULDRON_ITEM"), langConfig.getString("item.cauldron.name", "Cauldron"))); - itemNames.add(new ItemName(Material.valueOf("EYE_OF_ENDER"), langConfig.getString("item.eyeOfEnder.name", "Eye of Ender"))); - itemNames.add(new ItemName(Material.valueOf("SPECKLED_MELON"), langConfig.getString("item.speckledMelon.name", "Glistering Melon"))); - itemNames.add(new ItemName(Material.valueOf("MONSTER_EGG"), langConfig.getString("item.monsterPlacer.name", "Spawn"))); - itemNames.add(new ItemName(Material.valueOf("EXP_BOTTLE"), langConfig.getString("item.expBottle.name", "Bottle o' Enchanting"))); - itemNames.add(new ItemName(Material.valueOf("FIREWORK_CHARGE"), langConfig.getString("item.fireball.name", "Fire Charge"))); - itemNames.add(new ItemName(Material.valueOf("BOOK_AND_QUILL"), langConfig.getString("item.writingBook.name", "Book and Quill"))); - itemNames.add(new ItemName(Material.valueOf("WRITTEN_BOOK"), langConfig.getString("item.writtenBook.name", "Written Book"))); - itemNames.add(new ItemName(Material.valueOf("EMERALD"), langConfig.getString("item.emerald.name", "Emerald"))); - itemNames.add(new ItemName(Material.valueOf("ITEM_FRAME"), langConfig.getString("item.frame.name", "Item Frame"))); - itemNames.add(new ItemName(Material.valueOf("FLOWER_POT_ITEM"), langConfig.getString("item.flowerPot.name", "Flower Pot"))); - itemNames.add(new ItemName(Material.valueOf("CARROT_ITEM"), langConfig.getString("item.carrots.name", "Carrot"))); - itemNames.add(new ItemName(Material.valueOf("POTATO_ITEM"), langConfig.getString("item.potato.name", "Potato"))); - itemNames.add(new ItemName(Material.valueOf("BAKED_POTATO"), langConfig.getString("item.potatoBaked.name", "Baked Potato"))); - itemNames.add(new ItemName(Material.valueOf("POISONOUS_POTATO"), langConfig.getString("item.potatoPoisonous.name", "Poisonous Potato"))); - itemNames.add(new ItemName(Material.valueOf("EMPTY_MAP"), langConfig.getString("item.emptyMap.name", "Empty Map"))); - itemNames.add(new ItemName(Material.valueOf("GOLDEN_CARROT"), langConfig.getString("item.carrotGolden.name", "Golden Carrot"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), langConfig.getString("item.skull.skeleton.name", "Skeleton Skull"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), 1, langConfig.getString("item.skull.wither.name", "Wither Skeleton Skull"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), 2, langConfig.getString("item.skull.zombie.name", "Zombie Head"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), 3, langConfig.getString("item.skull.char.name", "Head"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), 4, langConfig.getString("item.skull.creeper.name", "Creeper Head"))); - itemNames.add(new ItemName(Material.valueOf("SKULL_ITEM"), 5, langConfig.getString("item.skull.dragon.name", "Creeper Head"))); - itemNames.add(new ItemName(Material.valueOf("CARROT_STICK"), langConfig.getString("item.carrotOnAStick.name", "Carrot on a Stick"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_STAR"), langConfig.getString("item.netherStar.name", "Nether Star"))); - itemNames.add(new ItemName(Material.valueOf("PUMPKIN_PIE"), langConfig.getString("item.pumpkinPie.name", "Pumpkin Pie"))); - itemNames.add(new ItemName(Material.valueOf("FIREWORK"), langConfig.getString("item.fireworks.name", "Firework Rocket"))); - itemNames.add(new ItemName(Material.valueOf("FIREWORK_CHARGE"), langConfig.getString("item.fireworksCharge.name", "Firework Star"))); - itemNames.add(new ItemName(Material.valueOf("ENCHANTED_BOOK"), langConfig.getString("item.enchantedBook.name", "Enchanted Book"))); - itemNames.add(new ItemName(Material.valueOf("REDSTONE_COMPARATOR"), langConfig.getString("item.comparator.name", "Redstone Comparator"))); - itemNames.add(new ItemName(Material.valueOf("NETHER_BRICK_ITEM"), langConfig.getString("item.netherbrick.name", "Nether Brick"))); - itemNames.add(new ItemName(Material.valueOf("QUARTZ"), langConfig.getString("item.netherquartz.name", "Nether Quartz"))); - itemNames.add(new ItemName(Material.valueOf("EXPLOSIVE_MINECART"), langConfig.getString("item.minecartTnt.name", "Minecart with TNT"))); - itemNames.add(new ItemName(Material.valueOf("HOPPER_MINECART"), langConfig.getString("item.minecartHopper.name", "Minecart with Hopper"))); - itemNames.add(new ItemName(Material.valueOf("PRISMARINE_SHARD"), langConfig.getString("item.prismarineShard.name", "Prismarine Shard"))); - itemNames.add(new ItemName(Material.valueOf("PRISMARINE_CRYSTALS"), langConfig.getString("item.prismarineCrystals.name", "Prismarine Crystals"))); - itemNames.add(new ItemName(Material.valueOf("RABBIT"), langConfig.getString("item.rabbitRaw.name", "Raw Rabbit"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_RABBIT"), langConfig.getString("item.rabbitCooked.name", "Cooked Rabbit"))); - itemNames.add(new ItemName(Material.valueOf("RABBIT_STEW"), langConfig.getString("item.rabbitStew.name", "Rabbit Stew"))); - itemNames.add(new ItemName(Material.valueOf("RABBIT_FOOT"), langConfig.getString("item.rabbitFoot.name", "Rabbit's Foot"))); - itemNames.add(new ItemName(Material.valueOf("RABBIT_HIDE"), langConfig.getString("item.rabbitHide.name", "Rabbit Hide"))); - itemNames.add(new ItemName(Material.valueOf("ARMOR_STAND"), langConfig.getString("item.armorStand.name", "Armor Stand"))); - itemNames.add(new ItemName(Material.valueOf("IRON_BARDING"), langConfig.getString("item.horsearmormetal.name", "Iron Horse Armor"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_BARDING"), langConfig.getString("item.horsearmorgold.name", "Gold Horse Armor"))); - itemNames.add(new ItemName(Material.valueOf("DIAMOND_BARDING"), langConfig.getString("item.horsearmordiamond.name", "Diamond Horse Armor"))); - itemNames.add(new ItemName(Material.valueOf("LEASH"), langConfig.getString("item.leash.name", "Lead"))); - itemNames.add(new ItemName(Material.valueOf("NAME_TAG"), langConfig.getString("item.nameTag.name", "Name Tag"))); - itemNames.add(new ItemName(Material.valueOf("COMMAND_MINECART"), langConfig.getString("item.minecartCommandBlock.name", "Minecart with Command Block"))); - itemNames.add(new ItemName(Material.valueOf("MUTTON"), langConfig.getString("item.muttonRaw.name", "Raw Mutton"))); - itemNames.add(new ItemName(Material.valueOf("COOKED_MUTTON"), langConfig.getString("item.muttonCooked.name", "Cooked Mutton"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), langConfig.getString("item.banner.black.name", "Black Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 1, langConfig.getString("item.banner.red.name", "Red Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 2, langConfig.getString("item.banner.green.name", "Green Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 3, langConfig.getString("item.banner.brown.name", "Brown Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 4, langConfig.getString("item.banner.blue.name", "Blue Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 5, langConfig.getString("item.banner.purple.name", "Purple Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 6, langConfig.getString("item.banner.cyan.name", "Cyan Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 7, langConfig.getString("item.banner.silver.name", "Light Gray Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 8, langConfig.getString("item.banner.gray.name", "Gray Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 9, langConfig.getString("item.banner.pink.name", "Pink Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 10, langConfig.getString("item.banner.lime.name", "Lime Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 11, langConfig.getString("item.banner.yellow.name", "Yellow Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 12, langConfig.getString("item.banner.lightBlue.name", "Light Blue Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 13, langConfig.getString("item.banner.magenta.name", "Magenta Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 14, langConfig.getString("item.banner.orange.name", "Orange Banner"))); - itemNames.add(new ItemName(Material.valueOf("BANNER"), 15, langConfig.getString("item.banner.white.name", "White Banner"))); - itemNames.add(new ItemName(Material.valueOf("SPRUCE_DOOR_ITEM"), langConfig.getString("item.doorSpruce.name", "Spruce Door"))); - itemNames.add(new ItemName(Material.valueOf("BIRCH_DOOR_ITEM"), langConfig.getString("item.doorBirch.name", "Birch Door"))); - itemNames.add(new ItemName(Material.valueOf("JUNGLE_DOOR_ITEM"), langConfig.getString("item.doorJungle.name", "Jungle Door"))); - itemNames.add(new ItemName(Material.valueOf("ACACIA_DOOR_ITEM"), langConfig.getString("item.doorAcacia.name", "Acacia Door"))); - itemNames.add(new ItemName(Material.valueOf("DARK_OAK_DOOR_ITEM"), langConfig.getString("item.doorDarkOak.name", "Dark Oak Door"))); - itemNames.add(new ItemName(Material.valueOf("GOLD_RECORD"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("GREEN_RECORD"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_3"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_4"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_5"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_6"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_7"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_8"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_9"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_10"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_11"), langConfig.getString("item.record.name", "Music Disc"))); - itemNames.add(new ItemName(Material.valueOf("RECORD_12"), langConfig.getString("item.record.name", "Music Disc"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Item names of 1.9 - itemNames.add(new ItemName(Material.valueOf("END_CRYSTAL"), langConfig.getString("item.end_crystal.name", "End Crystal"))); - itemNames.add(new ItemName(Material.valueOf("CHORUS_FRUIT"), langConfig.getString("item.chorusFruit.name", "Chorus Fruit"))); - itemNames.add(new ItemName(Material.valueOf("CHORUS_FRUIT_POPPED"), langConfig.getString("item.chorusFruitPopped.name", "Popped Chorus Fruit"))); - itemNames.add(new ItemName(Material.valueOf("BEETROOT"), langConfig.getString("item.beetroot.name", "Beetroot"))); - itemNames.add(new ItemName(Material.valueOf("BEETROOT_SEEDS"), langConfig.getString("item.beetroot_seeds.name", "Beetroot Seeds"))); - itemNames.add(new ItemName(Material.valueOf("BEETROOT_SOUP"), langConfig.getString("item.beetroot_soup.name", "Beetroot Soup"))); - itemNames.add(new ItemName(Material.valueOf("DRAGONS_BREATH"), langConfig.getString("item.dragon_breath.name", "Dragon's Breath"))); - itemNames.add(new ItemName(Material.valueOf("SPECTRAL_ARROW"), langConfig.getString("item.spectral_arrow.name", "Spectral Arrow"))); - itemNames.add(new ItemName(Material.valueOf("TIPPED_ARROW"), langConfig.getString("item.tipped_arrow.name", "Tipped Arrow"))); - itemNames.add(new ItemName(Material.valueOf("SHIELD"), langConfig.getString("item.shield.name", "Shield"))); - itemNames.add(new ItemName(Material.valueOf("ELYTRA"), langConfig.getString("item.elytra.name", "Elytra"))); - itemNames.add(new ItemName(Material.valueOf("BOAT_SPRUCE"), langConfig.getString("item.boat.spruce.name", "Spruce Boat"))); - itemNames.add(new ItemName(Material.valueOf("BOAT_BIRCH"), langConfig.getString("item.boat.birch.name", "Birch Boat"))); - itemNames.add(new ItemName(Material.valueOf("BOAT_JUNGLE"), langConfig.getString("item.boat.jungle.name", "Jungle Boat"))); - itemNames.add(new ItemName(Material.valueOf("BOAT_ACACIA"), langConfig.getString("item.boat.acacia.name", "Acacia Boat"))); - itemNames.add(new ItemName(Material.valueOf("BOAT_DARK_OAK"), langConfig.getString("item.boat.dark_oak.name", "Dark Oak Boat"))); - } - - if (Utils.getMajorVersion() >= 11) { - // Add Item Names of 1.11 - itemNames.add(new ItemName(Material.valueOf("TOTEM"), langConfig.getString("item.totem.name", "Totem of Undying"))); - itemNames.add(new ItemName(Material.valueOf("SHULKER_SHELL"), langConfig.getString("item.shulkerShell.name", "Shulker Shell"))); - - if (Utils.getRevision() >= 2 || Utils.getMajorVersion() > 11) { - // Add Item Name of 1.11.2 - itemNames.add(new ItemName(Material.valueOf("IRON_NUGGET"), langConfig.getString("item.ironNugget.name", "Iron Nugget"))); - } - } - - if (Utils.getMajorVersion() >= 12) { - // Add Item Name of 1.12 - itemNames.add(new ItemName(Material.valueOf("KNOWLEDGE_BOOK"), langConfig.getString("item.knowledgeBook.name", "Knowledge Book"))); - itemNames.add(new ItemName(Material.valueOf("BED"), langConfig.getString("item.bed.white.name", "White Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 1, langConfig.getString("item.bed.orange.name", "Orange Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 2, langConfig.getString("item.bed.magenta.name", "Magenta Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 3, langConfig.getString("item.bed.lightBlue.name", "Light Blue Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 4, langConfig.getString("item.bed.yellow.name", "Yellow Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 5, langConfig.getString("item.bed.lime.name", "Lime Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 6, langConfig.getString("item.bed.pink.name", "Pink Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 7, langConfig.getString("item.bed.gray.name", "Gray Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 8, langConfig.getString("item.bed.silver.name", "Light Gray Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 9, langConfig.getString("item.bed.cyan.name", "Cyan Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 10, langConfig.getString("item.bed.purple.name", "Purple Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 11, langConfig.getString("item.bed.blue.name", "Blue Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 12, langConfig.getString("item.bed.brown.name", "Brown Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 13, langConfig.getString("item.bed.green.name", "Green Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 14, langConfig.getString("item.bed.red.name", "Red Bed"))); - itemNames.add(new ItemName(Material.valueOf("BED"), 15, langConfig.getString("item.bed.black.name", "Black Bed"))); - } else { - // Before 1.12, bed is just called "Bed" without colors - itemNames.add(new ItemName(Material.valueOf("BED"), langConfig.getString("item.bed.name", "Bed"))); - } - - // Add Enchantment Names - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_DAMAGE, langConfig.getString("enchantment.arrowDamage", "Power"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_FIRE, langConfig.getString("enchantment.arrowFire", "Flame"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_INFINITE, langConfig.getString("enchantment.arrowInfinite", "Infinity"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_KNOCKBACK, langConfig.getString("enchantment.arrowKnockback", "Punch"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ALL, langConfig.getString("enchantment.damage.all", "Sharpness"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ARTHROPODS, langConfig.getString("enchantment.damage.arthropods", "Bane of Arthropods"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_UNDEAD, langConfig.getString("enchantment.damage.undead", "Smite"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DIG_SPEED, langConfig.getString("enchantment.digging", "Efficiency"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DURABILITY, langConfig.getString("enchantment.durability", "Unbreaking"))); - enchantmentNames.add(new EnchantmentName(Enchantment.FIRE_ASPECT, langConfig.getString("enchantment.fire", "Fire Aspect"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LURE, langConfig.getString("enchantment.fishingSpeed", "Lure"))); - enchantmentNames.add(new EnchantmentName(Enchantment.KNOCKBACK, langConfig.getString("enchantment.knockback", "Knockback"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LOOT_BONUS_MOBS, langConfig.getString("enchantment.lootBonus", "Looting"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LOOT_BONUS_BLOCKS, langConfig.getString("enchantment.lootBonusDigger", "Fortune"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LUCK, langConfig.getString("enchantment.lootBonusFishing", "Luck of the Sea"))); - enchantmentNames.add(new EnchantmentName(Enchantment.OXYGEN, langConfig.getString("enchantment.oxygen", "Respiration"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_ENVIRONMENTAL, langConfig.getString("enchantment.protect.all", "Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_EXPLOSIONS, langConfig.getString("enchantment.protect.explosion", "Blast Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_FALL, langConfig.getString("enchantment.protect.fall", "Feather Falling"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_FIRE, langConfig.getString("enchantment.protect.fire", "Fire Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_PROJECTILE, langConfig.getString("enchantment.protect.projectile", "Projectile Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.THORNS, langConfig.getString("enchantment.thorns", "Thorns"))); - enchantmentNames.add(new EnchantmentName(Enchantment.SILK_TOUCH, langConfig.getString("enchantment.untouching", "Silk Touch"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DEPTH_STRIDER, langConfig.getString("enchantment.waterWalker", "Depth Strider"))); - enchantmentNames.add(new EnchantmentName(Enchantment.WATER_WORKER, langConfig.getString("enchantment.waterWorker", "Aqua Affinity"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Enchantment Names of 1.9 - enchantmentNames.add(new EnchantmentName(Enchantment.FROST_WALKER, langConfig.getString("enchantment.frostWalker", "Frost Walker"))); - enchantmentNames.add(new EnchantmentName(Enchantment.MENDING, langConfig.getString("enchantment.mending", "Mending"))); - } - - if (Utils.getMajorVersion() >= 11) { - // Add Enchantment Names of 1.11 - enchantmentNames.add(new EnchantmentName(Enchantment.BINDING_CURSE, langConfig.getString("enchantment.binding_curse", "Curse of Binding"))); - enchantmentNames.add(new EnchantmentName(Enchantment.VANISHING_CURSE, langConfig.getString("enchantment.vanishing_curse", "Curse of Vanishing"))); - - if (Utils.getRevision() >= 2 || Utils.getMajorVersion() > 11) { - // Add Enchantment Name of 1.11.2 - enchantmentNames.add(new EnchantmentName(Enchantment.SWEEPING_EDGE, langConfig.getString("enchantment.sweeping", "Sweeping Edge"))); - } - } - - // Add Enchantment Level Names - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(1, langConfig.getString("enchantment.level.1", "I"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(2, langConfig.getString("enchantment.level.2", "II"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(3, langConfig.getString("enchantment.level.3", "II"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(4, langConfig.getString("enchantment.level.4", "IV"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(5, langConfig.getString("enchantment.level.5", "V"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(6, langConfig.getString("enchantment.level.6", "VI"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(7, langConfig.getString("enchantment.level.7", "VII"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(8, langConfig.getString("enchantment.level.8", "VIII"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(9, langConfig.getString("enchantment.level.9", "IX"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(10, langConfig.getString("enchantment.level.10", "X"))); - - // Add Entity Names - String horseName = (Utils.getMajorVersion() >= 11 ? "entity.Horse.name" : "entity.EntityHorse.name"); - entityNames.add(new EntityName(EntityType.CREEPER, langConfig.getString("entity.Creeper.name", "Creeper"))); - entityNames.add(new EntityName(EntityType.SKELETON, langConfig.getString("entity.Skeleton.name", "Skeleton"))); - entityNames.add(new EntityName(EntityType.SPIDER, langConfig.getString("entity.Spider.name", "Spider"))); - entityNames.add(new EntityName(EntityType.ZOMBIE, langConfig.getString("entity.Zombie.name", "Zombie"))); - entityNames.add(new EntityName(EntityType.SLIME, langConfig.getString("entity.Slime.name", "Slime"))); - entityNames.add(new EntityName(EntityType.GHAST, langConfig.getString("entity.Ghast.name", "Ghast"))); - entityNames.add(new EntityName(EntityType.PIG_ZOMBIE, langConfig.getString("entity.PigZombie.name", "Zombie Pigman"))); - entityNames.add(new EntityName(EntityType.ENDERMAN, langConfig.getString("entity.Enderman.name", "Enderman"))); - entityNames.add(new EntityName(EntityType.CAVE_SPIDER, langConfig.getString("entity.CaveSpider.name", "Cave Spider"))); - entityNames.add(new EntityName(EntityType.SILVERFISH, langConfig.getString("entity.Silverfish.name", "Silverfish"))); - entityNames.add(new EntityName(EntityType.BLAZE, langConfig.getString("entity.Blaze.name", "Blaze"))); - entityNames.add(new EntityName(EntityType.MAGMA_CUBE, langConfig.getString("entity.LavaSlime.name", "Magma Cube"))); - entityNames.add(new EntityName(EntityType.BAT, langConfig.getString("entity.Bat.name", "Bat"))); - entityNames.add(new EntityName(EntityType.WITCH, langConfig.getString("entity.Witch.name", "Witch"))); - entityNames.add(new EntityName(EntityType.ENDERMITE, langConfig.getString("entity.Endermite.name", "Endermite"))); - entityNames.add(new EntityName(EntityType.GUARDIAN, langConfig.getString("entity.Guardian.name", "Guardian"))); - entityNames.add(new EntityName(EntityType.PIG, langConfig.getString("entity.Pig.name", "Pig"))); - entityNames.add(new EntityName(EntityType.SHEEP, langConfig.getString("entity.Sheep.name", "Sheep"))); - entityNames.add(new EntityName(EntityType.COW, langConfig.getString("entity.Cow.name", "Cow"))); - entityNames.add(new EntityName(EntityType.CHICKEN, langConfig.getString("entity.Chicken.name", "Chicken"))); - entityNames.add(new EntityName(EntityType.SQUID, langConfig.getString("entity.Squid.name", "Squid"))); - entityNames.add(new EntityName(EntityType.WOLF, langConfig.getString("entity.Wolf.name", "Wolf"))); - entityNames.add(new EntityName(EntityType.MUSHROOM_COW, langConfig.getString("entity.MushroomCow.name", "Mooshroom"))); - entityNames.add(new EntityName(EntityType.OCELOT, langConfig.getString("entity.Ozelot.name", "Ocelot"))); - entityNames.add(new EntityName(EntityType.HORSE, langConfig.getString(horseName, "Horse"))); - entityNames.add(new EntityName(EntityType.RABBIT, langConfig.getString("entity.Rabbit.name", "Rabbit"))); - entityNames.add(new EntityName(EntityType.VILLAGER, langConfig.getString("entity.Villager.name", "Villager"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Entity Names of 1.9 - entityNames.add(new EntityName(EntityType.SHULKER, langConfig.getString("entity.Shulker.name", "Shulker"))); - } - - if (Utils.getMajorVersion() >= 10) { - // Add Entity Names of 1.10 - entityNames.add(new EntityName(EntityType.POLAR_BEAR, langConfig.getString("entity.PolarBear.name", "Polar Bear"))); - } - - if (Utils.getMajorVersion() >= 11) { - // Add Entity Names of 1.11 - entityNames.add(new EntityName(EntityType.ZOMBIE_VILLAGER, langConfig.getString("entity.ZombieVillager.name", "Zombie Villager"))); - entityNames.add(new EntityName(EntityType.ELDER_GUARDIAN, langConfig.getString("entity.ElderGuardian.name", "Elder Guardian"))); - entityNames.add(new EntityName(EntityType.EVOKER, langConfig.getString("entity.EvocationIllager.name", "Evoker"))); - entityNames.add(new EntityName(EntityType.VEX, langConfig.getString("entity.Vex.name", "Vex"))); - entityNames.add(new EntityName(EntityType.VINDICATOR, langConfig.getString("entity.VindicationIllager.name", "Vindicator"))); - entityNames.add(new EntityName(EntityType.LLAMA, langConfig.getString("entity.Llama.name", "Llama"))); - entityNames.add(new EntityName(EntityType.WITHER_SKELETON, langConfig.getString("entity.WitherSkeleton.name", "Wither Skeleton"))); - entityNames.add(new EntityName(EntityType.STRAY, langConfig.getString("entity.Stray.name", "Stray"))); - entityNames.add(new EntityName(EntityType.ZOMBIE_HORSE, langConfig.getString("entity.ZombieHorse.name", "Zombie Horse"))); - entityNames.add(new EntityName(EntityType.SKELETON_HORSE, langConfig.getString("entity.SkeletonHorse.name", "Skeleton Horse"))); - entityNames.add(new EntityName(EntityType.DONKEY, langConfig.getString("entity.Donkey.name", "Donkey"))); - entityNames.add(new EntityName(EntityType.MULE, langConfig.getString("entity.Mule.name", "Mule"))); - entityNames.add(new EntityName(EntityType.HUSK, langConfig.getString("entity.Husk.name", "Husk"))); - } - - if (Utils.getMajorVersion() >= 12) { - // Add Entity Names of 1.12 - entityNames.add(new EntityName(EntityType.PARROT, langConfig.getString("entity.Parrot.name", "Parrot"))); - entityNames.add(new EntityName(EntityType.ILLUSIONER, langConfig.getString("entity.IllusionIllager.name", "Illusioner"))); - } - - // Add Potion Effect Names - potionEffectNames.add(new PotionEffectName(PotionEffectType.FIRE_RESISTANCE, langConfig.getString("effect.fireResistance", "Fire Resistance"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HARM, langConfig.getString("effect.harm", "Instant Damage"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HEAL, langConfig.getString("effect.heal", "Instant Health"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.INVISIBILITY, langConfig.getString("effect.invisibility", "Invisibility"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.JUMP, langConfig.getString("effect.jump", "Jump Boost"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.NIGHT_VISION, langConfig.getString("effect.nightVision", "Night Vision"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.POISON, langConfig.getString("effect.poison", "Poison"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.REGENERATION, langConfig.getString("effect.regeneration", "Regeneration"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SLOW, langConfig.getString("effect.moveSlowdown", "Slowness"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SPEED, langConfig.getString("effect.moveSpeed", "Speed"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.INCREASE_DAMAGE, langConfig.getString("effect.damageBoost", "Strength"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.WATER_BREATHING, langConfig.getString("effect.waterBreathing", "Water Breathing"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.WEAKNESS, langConfig.getString("effect.weakness", "Weakness"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Potion Effect Names of 1.9 - potionEffectNames.add(new PotionEffectName(PotionEffectType.LUCK, langConfig.getString("effect.luck", "Luck"))); - } - - // Add Potion Names - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("potion.effect.fire_resistance", "Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("potion.effect.harming", "Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INSTANT_HEAL, langConfig.getString("potion.effect.healing", "Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INVISIBILITY, langConfig.getString("potion.effect.invisibility", "Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.JUMP, langConfig.getString("potion.effect.leaping", "Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.NIGHT_VISION, langConfig.getString("potion.effect.night_vision", "Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.POISON, langConfig.getString("potion.effect.poison", "Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.REGEN, langConfig.getString("potion.effect.regeneration", "Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.SLOWNESS, langConfig.getString("potion.effect.slowness", "Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.SPEED, langConfig.getString("potion.effect.swiftness", "Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.STRENGTH, langConfig.getString("potion.effect.strength", "Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WATER_BREATHING, langConfig.getString("potion.effect.water_breathing", "Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WEAKNESS, langConfig.getString("potion.effect.weakness", "Potion of Weakness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WATER, langConfig.getString("potion.effect.water", "Water Bottle"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Potion Names of 1.9 - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.AWKWARD, langConfig.getString("potion.effect.awkward", "Awkward Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.LUCK, langConfig.getString("potion.effect.luck", "Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.MUNDANE, langConfig.getString("potion.effect.mundane", "Mundane Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.THICK, langConfig.getString("potion.effect.thick", "Thick Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.UNCRAFTABLE, langConfig.getString("potion.effect.empty", "Uncraftable Potion"))); - } - - if (Utils.getMajorVersion() >= 9) { - // Add Tipped Arrow Names (implemented in Minecraft since 1.9) - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.AWKWARD, langConfig.getString("tipped_arrow.effect.awkward", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.FIRE_RESISTANCE, langConfig.getString("tipped_arrow.effect.fire_resistance", "Arrow of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INSTANT_DAMAGE, langConfig.getString("tipped_arrow.effect.harming", "Arrow of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INSTANT_HEAL, langConfig.getString("tipped_arrow.effect.healing", "Arrow of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INVISIBILITY, langConfig.getString("tipped_arrow.effect.invisibility", "Arrow of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.JUMP, langConfig.getString("tipped_arrow.effect.leaping", "Arrow of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.NIGHT_VISION, langConfig.getString("tipped_arrow.effect.night_vision", "Arrow of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.POISON, langConfig.getString("tipped_arrow.effect.poison", "Arrow of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.REGEN, langConfig.getString("tipped_arrow.effect.regeneration", "Arrow of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.SLOWNESS, langConfig.getString("tipped_arrow.effect.slowness", "Arrow of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.SPEED, langConfig.getString("tipped_arrow.effect.swiftness", "Arrow of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.STRENGTH, langConfig.getString("tipped_arrow.effect.strength", "Arrow of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WATER_BREATHING, langConfig.getString("tipped_arrow.effect.water_breathing", "Arrow of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WEAKNESS, langConfig.getString("tipped_arrow.effect.weakness", "Arrow of Weakness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WATER, langConfig.getString("tipped_arrow.effect.water", "Arrow of Splashing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.LUCK, langConfig.getString("tipped_arrow.effect.luck", "Arrow of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.MUNDANE, langConfig.getString("tipped_arrow.effect.mundane", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.THICK, langConfig.getString("tipped_arrow.effect.thick", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.UNCRAFTABLE, langConfig.getString("tipped_arrow.effect.empty", "Uncraftable Tipped Arrow"))); - } - - // Add Splash Potion Names - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("splash_potion.effect.fire_resistance", "Splash Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("splash_potion.effect.harming", "Splash Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INSTANT_HEAL, langConfig.getString("splash_potion.effect.healing", "Splash Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INVISIBILITY, langConfig.getString("splash_potion.effect.invisibility", "Splash Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.JUMP, langConfig.getString("splash_potion.effect.leaping", "Splash Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.NIGHT_VISION, langConfig.getString("splash_potion.effect.night_vision", "Splash Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.POISON, langConfig.getString("splash_potion.effect.poison", "Splash Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.REGEN, langConfig.getString("splash_potion.effect.regeneration", "Splash Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.SLOWNESS, langConfig.getString("splash_potion.effect.slowness", "Splash Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.SPEED, langConfig.getString("splash_potion.effect.swiftness", "Splash Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.STRENGTH, langConfig.getString("splash_potion.effect.strength", "Splash Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WATER_BREATHING, langConfig.getString("splash_potion.effect.water_breathing", "Splash Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WEAKNESS, langConfig.getString("splash_potion.effect.weakness", "Splash Potion of Weakness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WATER, langConfig.getString("splash_potion.effect.water", "Splash Water Bottle"))); - - if (Utils.getMajorVersion() >= 9) { - // Add Splash Potion Names of 1.9 - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.AWKWARD, langConfig.getString("splash_potion.effect.awkward", "Awkward Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.LUCK, langConfig.getString("splash_potion.effect.luck", "Splash Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.MUNDANE, langConfig.getString("splash_potion.effect.mundane", "Mundane Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.THICK, langConfig.getString("splash_potion.effect.thick", "Thick Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.UNCRAFTABLE, langConfig.getString("splash_potion.effect.empty", "Splash Uncraftable Potion"))); - } - - if (Utils.getMajorVersion() >= 9) { - // Add Lingering Potion Names (implemented in Minecraft since 1.9) - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.AWKWARD, langConfig.getString("lingering_potion.effect.awkward", "Awkward Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("lingering_potion.effect.fire_resistance", "Lingering Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("lingering_potion.effect.harming", "Lingering Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INSTANT_HEAL, langConfig.getString("lingering_potion.effect.healing", "Lingering Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INVISIBILITY, langConfig.getString("lingering_potion.effect.invisibility", "Lingering Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.JUMP, langConfig.getString("lingering_potion.effect.leaping", "Lingering Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.NIGHT_VISION, langConfig.getString("lingering_potion.effect.night_vision", "Lingering Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.POISON, langConfig.getString("lingering_potion.effect.poison", "Lingering Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.REGEN, langConfig.getString("lingering_potion.effect.regeneration", "Lingering Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.SLOWNESS, langConfig.getString("lingering_potion.effect.slowness", "Lingering Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.SPEED, langConfig.getString("lingering_potion.effect.swiftness", "Lingering Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.STRENGTH, langConfig.getString("lingering_potion.effect.strength", "Lingering Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WATER_BREATHING, langConfig.getString("lingering_potion.effect.water_breathing", "Lingering Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WEAKNESS, langConfig.getString("lingering_potion.effect.weakness", "Lingering Potion of Weakness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WATER, langConfig.getString("lingering_potion.effect.water", "Lingering Water Bottle"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.LUCK, langConfig.getString("lingering_potion.effect.luck", "Lingering Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.MUNDANE, langConfig.getString("lingering_potion.effect.mundane", "Mundane Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.THICK, langConfig.getString("lingering_potion.effect.thick", "Thick Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.UNCRAFTABLE, langConfig.getString("lingering_potion.effect.empty", "Lingering Uncraftable Potion"))); - } - - // Add Music Disc Titles - musicDiscNames.add(new MusicDiscName(Material.valueOf("GOLD_RECORD"), langConfig.getString("item.record.13.desc", "C418 - 13"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("GREEN_RECORD"), langConfig.getString("item.record.cat.desc", "C418 - cat"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_3"), langConfig.getString("item.record.blocks.desc", "C418 - blocks"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_4"), langConfig.getString("item.record.chirp.desc", "C418 - chirp"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_5"), langConfig.getString("item.record.far.desc", "C418 - far"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_6"), langConfig.getString("item.record.mall.desc", "C418 - mall"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_7"), langConfig.getString("item.record.mellohi.desc", "C418 - mellohi"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_8"), langConfig.getString("item.record.stal.desc", "C418 - stal"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_9"), langConfig.getString("item.record.strad.desc", "C418 - strad"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_10"), langConfig.getString("item.record.ward.desc", "C418 - ward"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_11"), langConfig.getString("item.record.11.desc", "C418 - 11"))); - musicDiscNames.add(new MusicDiscName(Material.valueOf("RECORD_12"), langConfig.getString("item.record.wait.desc", "C418 - wait"))); - - // Add Book Generation Names - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.ORIGINAL, langConfig.getString("book.generation.0", "Original"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.COPY_OF_ORIGINAL, langConfig.getString("book.generation.1", "Copy of original"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.COPY_OF_COPY, langConfig.getString("book.generation.2", "Copy of a copy"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.TATTERED, langConfig.getString("book.generation.3", "Tattered"))); - - loadMessages(); - } - - public static void load() { - langConfig = Config.langConfig; - - itemNames.clear(); - enchantmentNames.clear(); - enchantmentLevelNames.clear(); - potionEffectNames.clear(); - entityNames.clear(); - potionNames.clear(); - musicDiscNames.clear(); - generationNames.clear(); - messages.clear(); - - if (Utils.getMajorVersion() < 13) { - loadLegacy(); - return; - } - - // Add Block/Item Names - itemNames.add(new ItemName(Material.AIR, langConfig.getString("block.minecraft.air", "Air"))); - itemNames.add(new ItemName(Material.BARRIER, langConfig.getString("block.minecraft.barrier", "Barrier"))); - itemNames.add(new ItemName(Material.STONE, langConfig.getString("block.minecraft.stone", "Stone"))); - itemNames.add(new ItemName(Material.GRANITE, langConfig.getString("block.minecraft.granite", "Granite"))); - itemNames.add(new ItemName(Material.POLISHED_GRANITE, langConfig.getString("block.minecraft.polished_granite", "Polished Granite"))); - itemNames.add(new ItemName(Material.DIORITE, langConfig.getString("block.minecraft.diorite", "Diorite"))); - itemNames.add(new ItemName(Material.POLISHED_DIORITE, langConfig.getString("block.minecraft.polished_diorite", "Polished Diorite"))); - itemNames.add(new ItemName(Material.ANDESITE, langConfig.getString("block.minecraft.andesite", "Andesite"))); - itemNames.add(new ItemName(Material.POLISHED_ANDESITE, langConfig.getString("block.minecraft.polished_andesite", "Polished Andesite"))); - itemNames.add(new ItemName(Material.HAY_BLOCK, langConfig.getString("block.minecraft.hay_block", "Hay Bale"))); - itemNames.add(new ItemName(Material.GRASS_BLOCK, langConfig.getString("block.minecraft.grass_block", "Grass Block"))); - itemNames.add(new ItemName(Material.DIRT, langConfig.getString("block.minecraft.dirt", "Dirt"))); - itemNames.add(new ItemName(Material.COARSE_DIRT, langConfig.getString("block.minecraft.coarse_dirt", "Coarse Dirt"))); - itemNames.add(new ItemName(Material.PODZOL, langConfig.getString("block.minecraft.podzol", "Podzol"))); - itemNames.add(new ItemName(Material.COBBLESTONE, langConfig.getString("block.minecraft.cobblestone", "Cobblestone"))); - itemNames.add(new ItemName(Material.OAK_PLANKS, langConfig.getString("block.minecraft.oak_planks", "Oak Planks"))); - itemNames.add(new ItemName(Material.SPRUCE_PLANKS, langConfig.getString("block.minecraft.spruce_planks", "Spruce Planks"))); - itemNames.add(new ItemName(Material.BIRCH_PLANKS, langConfig.getString("block.minecraft.birch_planks", "Birch Planks"))); - itemNames.add(new ItemName(Material.JUNGLE_PLANKS, langConfig.getString("block.minecraft.jungle_planks", "Jungle Planks"))); - itemNames.add(new ItemName(Material.ACACIA_PLANKS, langConfig.getString("block.minecraft.acacia_planks", "Acacia Planks"))); - itemNames.add(new ItemName(Material.DARK_OAK_PLANKS, langConfig.getString("block.minecraft.dark_oak_planks", "Dark Oak Planks"))); - itemNames.add(new ItemName(Material.OAK_SAPLING, langConfig.getString("block.minecraft.oak_sapling", "Oak Sapling"))); - itemNames.add(new ItemName(Material.SPRUCE_SAPLING, langConfig.getString("block.minecraft.spruce_sapling", "Spruce Sapling"))); - itemNames.add(new ItemName(Material.BIRCH_SAPLING, langConfig.getString("block.minecraft.birch_sapling", "Birch Sapling"))); - itemNames.add(new ItemName(Material.JUNGLE_SAPLING, langConfig.getString("block.minecraft.jungle_sapling", "Jungle Sapling"))); - itemNames.add(new ItemName(Material.ACACIA_SAPLING, langConfig.getString("block.minecraft.acacia_sapling", "Acacia Sapling"))); - itemNames.add(new ItemName(Material.DARK_OAK_SAPLING, langConfig.getString("block.minecraft.dark_oak_sapling", "Dark Oak Sapling"))); - itemNames.add(new ItemName(Material.OAK_DOOR, langConfig.getString("block.minecraft.oak_door", "Oak Door"))); - itemNames.add(new ItemName(Material.SPRUCE_DOOR, langConfig.getString("block.minecraft.spruce_door", "Spruce Door"))); - itemNames.add(new ItemName(Material.BIRCH_DOOR, langConfig.getString("block.minecraft.birch_door", "Birch Door"))); - itemNames.add(new ItemName(Material.JUNGLE_DOOR, langConfig.getString("block.minecraft.jungle_door", "Jungle Door"))); - itemNames.add(new ItemName(Material.ACACIA_DOOR, langConfig.getString("block.minecraft.acacia_door", "Acacia Door"))); - itemNames.add(new ItemName(Material.DARK_OAK_DOOR, langConfig.getString("block.minecraft.dark_oak_door", "Dark Oak Door"))); - itemNames.add(new ItemName(Material.BEDROCK, langConfig.getString("block.minecraft.bedrock", "Bedrock"))); - itemNames.add(new ItemName(Material.WATER, langConfig.getString("block.minecraft.water", "Water"))); - itemNames.add(new ItemName(Material.LAVA, langConfig.getString("block.minecraft.lava", "Lava"))); - itemNames.add(new ItemName(Material.SAND, langConfig.getString("block.minecraft.sand", "Sand"))); - itemNames.add(new ItemName(Material.RED_SAND, langConfig.getString("block.minecraft.red_sand", "Red Sand"))); - itemNames.add(new ItemName(Material.SANDSTONE, langConfig.getString("block.minecraft.sandstone", "Sandstone"))); - itemNames.add(new ItemName(Material.CHISELED_SANDSTONE, langConfig.getString("block.minecraft.chiseled_sandstone", "Chiseled Sandstone"))); - itemNames.add(new ItemName(Material.CUT_SANDSTONE, langConfig.getString("block.minecraft.cut_sandstone", "Cut Sandstone"))); - itemNames.add(new ItemName(Material.RED_SANDSTONE, langConfig.getString("block.minecraft.red_sandstone", "Red Sandstone"))); - itemNames.add(new ItemName(Material.CHISELED_RED_SANDSTONE, langConfig.getString("block.minecraft.chiseled_red_sandstone", "Chiseled Red Sandstone"))); - itemNames.add(new ItemName(Material.CUT_RED_SANDSTONE, langConfig.getString("block.minecraft.cut_red_sandstone", "Cut Red Sandstone"))); - itemNames.add(new ItemName(Material.GRAVEL, langConfig.getString("block.minecraft.gravel", "Gravel"))); - itemNames.add(new ItemName(Material.GOLD_ORE, langConfig.getString("block.minecraft.gold_ore", "Gold Ore"))); - itemNames.add(new ItemName(Material.IRON_ORE, langConfig.getString("block.minecraft.iron_ore", "Iron Ore"))); - itemNames.add(new ItemName(Material.COAL_ORE, langConfig.getString("block.minecraft.coal_ore", "Coal Ore"))); - itemNames.add(new ItemName(Material.OAK_WOOD, langConfig.getString("block.minecraft.oak_wood", "Oak Wood"))); - itemNames.add(new ItemName(Material.SPRUCE_WOOD, langConfig.getString("block.minecraft.spruce_wood", "Spruce Wood"))); - itemNames.add(new ItemName(Material.BIRCH_WOOD, langConfig.getString("block.minecraft.birch_wood", "Birch Wood"))); - itemNames.add(new ItemName(Material.JUNGLE_WOOD, langConfig.getString("block.minecraft.jungle_wood", "Jungle Wood"))); - itemNames.add(new ItemName(Material.ACACIA_WOOD, langConfig.getString("block.minecraft.acacia_wood", "Acacia Wood"))); - itemNames.add(new ItemName(Material.DARK_OAK_WOOD, langConfig.getString("block.minecraft.dark_oak_wood", "Dark Oak Wood"))); - itemNames.add(new ItemName(Material.OAK_LOG, langConfig.getString("block.minecraft.oak_log", "Oak Log"))); - itemNames.add(new ItemName(Material.SPRUCE_LOG, langConfig.getString("block.minecraft.spruce_log", "Spruce Log"))); - itemNames.add(new ItemName(Material.BIRCH_LOG, langConfig.getString("block.minecraft.birch_log", "Birch Log"))); - itemNames.add(new ItemName(Material.JUNGLE_LOG, langConfig.getString("block.minecraft.jungle_log", "Jungle Log"))); - itemNames.add(new ItemName(Material.ACACIA_LOG, langConfig.getString("block.minecraft.acacia_log", "Acacia Log"))); - itemNames.add(new ItemName(Material.DARK_OAK_LOG, langConfig.getString("block.minecraft.dark_oak_log", "Dark Oak Log"))); - itemNames.add(new ItemName(Material.STRIPPED_OAK_LOG, langConfig.getString("block.minecraft.stripped_oak_log", "Stripped Oak Log"))); - itemNames.add(new ItemName(Material.STRIPPED_SPRUCE_LOG, langConfig.getString("block.minecraft.stripped_spruce_log", "Stripped Spruce Log"))); - itemNames.add(new ItemName(Material.STRIPPED_BIRCH_LOG, langConfig.getString("block.minecraft.stripped_birch_log", "Stripped Birch Log"))); - itemNames.add(new ItemName(Material.STRIPPED_JUNGLE_LOG, langConfig.getString("block.minecraft.stripped_jungle_log", "Stripped Jungle Log"))); - itemNames.add(new ItemName(Material.STRIPPED_ACACIA_LOG, langConfig.getString("block.minecraft.stripped_acacia_log", "Stripped Acacia Log"))); - itemNames.add(new ItemName(Material.STRIPPED_DARK_OAK_LOG, langConfig.getString("block.minecraft.stripped_dark_oak_log", "Stripped Dark Oak Log"))); - itemNames.add(new ItemName(Material.STRIPPED_OAK_WOOD, langConfig.getString("block.minecraft.stripped_oak_wood", "Stripped Oak Wood"))); - itemNames.add(new ItemName(Material.STRIPPED_SPRUCE_WOOD, langConfig.getString("block.minecraft.stripped_spruce_wood", "Stripped Spruce Wood"))); - itemNames.add(new ItemName(Material.STRIPPED_BIRCH_WOOD, langConfig.getString("block.minecraft.stripped_birch_wood", "Stripped Birch Wood"))); - itemNames.add(new ItemName(Material.STRIPPED_JUNGLE_WOOD, langConfig.getString("block.minecraft.stripped_jungle_wood", "Stripped Jungle Wood"))); - itemNames.add(new ItemName(Material.STRIPPED_ACACIA_WOOD, langConfig.getString("block.minecraft.stripped_acacia_wood", "Stripped Acacia Wood"))); - itemNames.add(new ItemName(Material.STRIPPED_DARK_OAK_WOOD, langConfig.getString("block.minecraft.stripped_dark_oak_wood", "Stripped Dark Oak Wood"))); - itemNames.add(new ItemName(Material.OAK_LEAVES, langConfig.getString("block.minecraft.oak_leaves", "Oak Leaves"))); - itemNames.add(new ItemName(Material.SPRUCE_LEAVES, langConfig.getString("block.minecraft.spruce_leaves", "Spruce Leaves"))); - itemNames.add(new ItemName(Material.BIRCH_LEAVES, langConfig.getString("block.minecraft.birch_leaves", "Birch Leaves"))); - itemNames.add(new ItemName(Material.JUNGLE_LEAVES, langConfig.getString("block.minecraft.jungle_leaves", "Jungle Leaves"))); - itemNames.add(new ItemName(Material.ACACIA_LEAVES, langConfig.getString("block.minecraft.acacia_leaves", "Acacia Leaves"))); - itemNames.add(new ItemName(Material.DARK_OAK_LEAVES, langConfig.getString("block.minecraft.dark_oak_leaves", "Dark Oak Leaves"))); - itemNames.add(new ItemName(Material.DEAD_BUSH, langConfig.getString("block.minecraft.dead_bush", "Dead Bush"))); - itemNames.add(new ItemName(Material.GRASS, langConfig.getString("block.minecraft.grass", "Grass"))); - itemNames.add(new ItemName(Material.FERN, langConfig.getString("block.minecraft.fern", "Fern"))); - itemNames.add(new ItemName(Material.SPONGE, langConfig.getString("block.minecraft.sponge", "Sponge"))); - itemNames.add(new ItemName(Material.WET_SPONGE, langConfig.getString("block.minecraft.wet_sponge", "Wet Sponge"))); - itemNames.add(new ItemName(Material.GLASS, langConfig.getString("block.minecraft.glass", "Glass"))); - itemNames.add(new ItemName(Material.KELP_PLANT, langConfig.getString("block.minecraft.kelp_plant", "Kelp Plant"))); - itemNames.add(new ItemName(Material.KELP, langConfig.getString("block.minecraft.kelp", "Kelp"))); - itemNames.add(new ItemName(Material.DRIED_KELP_BLOCK, langConfig.getString("block.minecraft.dried_kelp_block", "Dried Kelp Block"))); - itemNames.add(new ItemName(Material.WHITE_STAINED_GLASS, langConfig.getString("block.minecraft.white_stained_glass", "White Stained Glass"))); - itemNames.add(new ItemName(Material.ORANGE_STAINED_GLASS, langConfig.getString("block.minecraft.orange_stained_glass", "Orange Stained Glass"))); - itemNames.add(new ItemName(Material.MAGENTA_STAINED_GLASS, langConfig.getString("block.minecraft.magenta_stained_glass", "Magenta Stained Glass"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_STAINED_GLASS, langConfig.getString("block.minecraft.light_blue_stained_glass", "Light Blue Stained Glass"))); - itemNames.add(new ItemName(Material.YELLOW_STAINED_GLASS, langConfig.getString("block.minecraft.yellow_stained_glass", "Yellow Stained Glass"))); - itemNames.add(new ItemName(Material.LIME_STAINED_GLASS, langConfig.getString("block.minecraft.lime_stained_glass", "Lime Stained Glass"))); - itemNames.add(new ItemName(Material.PINK_STAINED_GLASS, langConfig.getString("block.minecraft.pink_stained_glass", "Pink Stained Glass"))); - itemNames.add(new ItemName(Material.GRAY_STAINED_GLASS, langConfig.getString("block.minecraft.gray_stained_glass", "Gray Stained Glass"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_STAINED_GLASS, langConfig.getString("block.minecraft.light_gray_stained_glass", "Light Gray Stained Glass"))); - itemNames.add(new ItemName(Material.CYAN_STAINED_GLASS, langConfig.getString("block.minecraft.cyan_stained_glass", "Cyan Stained Glass"))); - itemNames.add(new ItemName(Material.PURPLE_STAINED_GLASS, langConfig.getString("block.minecraft.purple_stained_glass", "Purple Stained Glass"))); - itemNames.add(new ItemName(Material.BLUE_STAINED_GLASS, langConfig.getString("block.minecraft.blue_stained_glass", "Blue Stained Glass"))); - itemNames.add(new ItemName(Material.BROWN_STAINED_GLASS, langConfig.getString("block.minecraft.brown_stained_glass", "Brown Stained Glass"))); - itemNames.add(new ItemName(Material.GREEN_STAINED_GLASS, langConfig.getString("block.minecraft.green_stained_glass", "Green Stained Glass"))); - itemNames.add(new ItemName(Material.RED_STAINED_GLASS, langConfig.getString("block.minecraft.red_stained_glass", "Red Stained Glass"))); - itemNames.add(new ItemName(Material.BLACK_STAINED_GLASS, langConfig.getString("block.minecraft.black_stained_glass", "Black Stained Glass"))); - itemNames.add(new ItemName(Material.WHITE_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.white_stained_glass_pane", "White Stained Glass Pane"))); - itemNames.add(new ItemName(Material.ORANGE_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.orange_stained_glass_pane", "Orange Stained Glass Pane"))); - itemNames.add(new ItemName(Material.MAGENTA_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.magenta_stained_glass_pane", "Magenta Stained Glass Pane"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.light_blue_stained_glass_pane", "Light Blue Stained Glass Pane"))); - itemNames.add(new ItemName(Material.YELLOW_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.yellow_stained_glass_pane", "Yellow Stained Glass Pane"))); - itemNames.add(new ItemName(Material.LIME_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.lime_stained_glass_pane", "Lime Stained Glass Pane"))); - itemNames.add(new ItemName(Material.PINK_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.pink_stained_glass_pane", "Pink Stained Glass Pane"))); - itemNames.add(new ItemName(Material.GRAY_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.gray_stained_glass_pane", "Gray Stained Glass Pane"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.light_gray_stained_glass_pane", "Light Gray Stained Glass Pane"))); - itemNames.add(new ItemName(Material.CYAN_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.cyan_stained_glass_pane", "Cyan Stained Glass Pane"))); - itemNames.add(new ItemName(Material.PURPLE_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.purple_stained_glass_pane", "Purple Stained Glass Pane"))); - itemNames.add(new ItemName(Material.BLUE_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.blue_stained_glass_pane", "Blue Stained Glass Pane"))); - itemNames.add(new ItemName(Material.BROWN_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.brown_stained_glass_pane", "Brown Stained Glass Pane"))); - itemNames.add(new ItemName(Material.GREEN_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.green_stained_glass_pane", "Green Stained Glass Pane"))); - itemNames.add(new ItemName(Material.RED_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.red_stained_glass_pane", "Red Stained Glass Pane"))); - itemNames.add(new ItemName(Material.BLACK_STAINED_GLASS_PANE, langConfig.getString("block.minecraft.black_stained_glass_pane", "Black Stained Glass Pane"))); - itemNames.add(new ItemName(Material.GLASS_PANE, langConfig.getString("block.minecraft.glass_pane", "Glass Pane"))); - itemNames.add(new ItemName(Material.DANDELION, langConfig.getString("block.minecraft.dandelion", "Dandelion"))); - itemNames.add(new ItemName(Material.POPPY, langConfig.getString("block.minecraft.poppy", "Poppy"))); - itemNames.add(new ItemName(Material.BLUE_ORCHID, langConfig.getString("block.minecraft.blue_orchid", "Blue Orchid"))); - itemNames.add(new ItemName(Material.ALLIUM, langConfig.getString("block.minecraft.allium", "Allium"))); - itemNames.add(new ItemName(Material.AZURE_BLUET, langConfig.getString("block.minecraft.azure_bluet", "Azure Bluet"))); - itemNames.add(new ItemName(Material.RED_TULIP, langConfig.getString("block.minecraft.red_tulip", "Red Tulip"))); - itemNames.add(new ItemName(Material.ORANGE_TULIP, langConfig.getString("block.minecraft.orange_tulip", "Orange Tulip"))); - itemNames.add(new ItemName(Material.WHITE_TULIP, langConfig.getString("block.minecraft.white_tulip", "White Tulip"))); - itemNames.add(new ItemName(Material.PINK_TULIP, langConfig.getString("block.minecraft.pink_tulip", "Pink Tulip"))); - itemNames.add(new ItemName(Material.OXEYE_DAISY, langConfig.getString("block.minecraft.oxeye_daisy", "Oxeye Daisy"))); - itemNames.add(new ItemName(Material.SUNFLOWER, langConfig.getString("block.minecraft.sunflower", "Sunflower"))); - itemNames.add(new ItemName(Material.LILAC, langConfig.getString("block.minecraft.lilac", "Lilac"))); - itemNames.add(new ItemName(Material.TALL_GRASS, langConfig.getString("block.minecraft.tall_grass", "Tall Grass"))); - itemNames.add(new ItemName(Material.TALL_SEAGRASS, langConfig.getString("block.minecraft.tall_seagrass", "Tall Seagrass"))); - itemNames.add(new ItemName(Material.LARGE_FERN, langConfig.getString("block.minecraft.large_fern", "Large Fern"))); - itemNames.add(new ItemName(Material.ROSE_BUSH, langConfig.getString("block.minecraft.rose_bush", "Rose Bush"))); - itemNames.add(new ItemName(Material.PEONY, langConfig.getString("block.minecraft.peony", "Peony"))); - itemNames.add(new ItemName(Material.SEAGRASS, langConfig.getString("block.minecraft.seagrass", "Seagrass"))); - itemNames.add(new ItemName(Material.SEA_PICKLE, langConfig.getString("block.minecraft.sea_pickle", "Sea Pickle"))); - itemNames.add(new ItemName(Material.BROWN_MUSHROOM, langConfig.getString("block.minecraft.brown_mushroom", "Brown Mushroom"))); - itemNames.add(new ItemName(Material.RED_MUSHROOM_BLOCK, langConfig.getString("block.minecraft.red_mushroom_block", "Red Mushroom Block"))); - itemNames.add(new ItemName(Material.BROWN_MUSHROOM_BLOCK, langConfig.getString("block.minecraft.brown_mushroom_block", "Brown Mushroom Block"))); - itemNames.add(new ItemName(Material.MUSHROOM_STEM, langConfig.getString("block.minecraft.mushroom_stem", "Mushroom Stem"))); - itemNames.add(new ItemName(Material.GOLD_BLOCK, langConfig.getString("block.minecraft.gold_block", "Block of Gold"))); - itemNames.add(new ItemName(Material.IRON_BLOCK, langConfig.getString("block.minecraft.iron_block", "Block of Iron"))); - itemNames.add(new ItemName(Material.SMOOTH_STONE, langConfig.getString("block.minecraft.smooth_stone", "Smooth Stone"))); - itemNames.add(new ItemName(Material.SMOOTH_SANDSTONE, langConfig.getString("block.minecraft.smooth_sandstone", "Smooth Sandstone"))); - itemNames.add(new ItemName(Material.SMOOTH_RED_SANDSTONE, langConfig.getString("block.minecraft.smooth_red_sandstone", "Smooth Red Sandstone"))); - itemNames.add(new ItemName(Material.SMOOTH_QUARTZ, langConfig.getString("block.minecraft.smooth_quartz", "Smooth Quartz"))); - itemNames.add(new ItemName(Material.STONE_SLAB, langConfig.getString("block.minecraft.stone_slab", "Stone Slab"))); - itemNames.add(new ItemName(Material.SANDSTONE_SLAB, langConfig.getString("block.minecraft.sandstone_slab", "Sandstone Slab"))); - itemNames.add(new ItemName(Material.RED_SANDSTONE_SLAB, langConfig.getString("block.minecraft.red_sandstone_slab", "Red Sandstone Slab"))); - itemNames.add(new ItemName(Material.PETRIFIED_OAK_SLAB, langConfig.getString("block.minecraft.petrified_oak_slab", "Petrified Oak Slab"))); - itemNames.add(new ItemName(Material.COBBLESTONE_SLAB, langConfig.getString("block.minecraft.cobblestone_slab", "Cobblestone Slab"))); - itemNames.add(new ItemName(Material.BRICK_SLAB, langConfig.getString("block.minecraft.brick_slab", "Brick Slab"))); - itemNames.add(new ItemName(Material.STONE_BRICK_SLAB, langConfig.getString("block.minecraft.stone_brick_slab", "Stone Brick Slab"))); - itemNames.add(new ItemName(Material.NETHER_BRICK_SLAB, langConfig.getString("block.minecraft.nether_brick_slab", "Nether Brick Slab"))); - itemNames.add(new ItemName(Material.QUARTZ_SLAB, langConfig.getString("block.minecraft.quartz_slab", "Quartz Slab"))); - itemNames.add(new ItemName(Material.OAK_SLAB, langConfig.getString("block.minecraft.oak_slab", "Oak Slab"))); - itemNames.add(new ItemName(Material.SPRUCE_SLAB, langConfig.getString("block.minecraft.spruce_slab", "Spruce Slab"))); - itemNames.add(new ItemName(Material.BIRCH_SLAB, langConfig.getString("block.minecraft.birch_slab", "Birch Slab"))); - itemNames.add(new ItemName(Material.JUNGLE_SLAB, langConfig.getString("block.minecraft.jungle_slab", "Jungle Slab"))); - itemNames.add(new ItemName(Material.ACACIA_SLAB, langConfig.getString("block.minecraft.acacia_slab", "Acacia Slab"))); - itemNames.add(new ItemName(Material.DARK_OAK_SLAB, langConfig.getString("block.minecraft.dark_oak_slab", "Dark Oak Slab"))); - itemNames.add(new ItemName(Material.DARK_PRISMARINE_SLAB, langConfig.getString("block.minecraft.dark_prismarine_slab", "Dark Prismarine Slab"))); - itemNames.add(new ItemName(Material.PRISMARINE_SLAB, langConfig.getString("block.minecraft.prismarine_slab", "Prismarine Slab"))); - itemNames.add(new ItemName(Material.PRISMARINE_BRICK_SLAB, langConfig.getString("block.minecraft.prismarine_brick_slab", "Prismarine Brick Slab"))); - itemNames.add(new ItemName(Material.BRICKS, langConfig.getString("block.minecraft.bricks", "Bricks"))); - itemNames.add(new ItemName(Material.TNT, langConfig.getString("block.minecraft.tnt", "TNT"))); - itemNames.add(new ItemName(Material.BOOKSHELF, langConfig.getString("block.minecraft.bookshelf", "Bookshelf"))); - itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE, langConfig.getString("block.minecraft.mossy_cobblestone", "Mossy Cobblestone"))); - itemNames.add(new ItemName(Material.OBSIDIAN, langConfig.getString("block.minecraft.obsidian", "Obsidian"))); - itemNames.add(new ItemName(Material.TORCH, langConfig.getString("block.minecraft.torch", "Torch"))); - itemNames.add(new ItemName(Material.WALL_TORCH, langConfig.getString("block.minecraft.wall_torch", "Wall Torch"))); - itemNames.add(new ItemName(Material.FIRE, langConfig.getString("block.minecraft.fire", "Fire"))); - itemNames.add(new ItemName(Material.SPAWNER, langConfig.getString("block.minecraft.spawner", "Spawner"))); - itemNames.add(new ItemName(Material.OAK_STAIRS, langConfig.getString("block.minecraft.oak_stairs", "Oak Stairs"))); - itemNames.add(new ItemName(Material.SPRUCE_STAIRS, langConfig.getString("block.minecraft.spruce_stairs", "Spruce Stairs"))); - itemNames.add(new ItemName(Material.BIRCH_STAIRS, langConfig.getString("block.minecraft.birch_stairs", "Birch Stairs"))); - itemNames.add(new ItemName(Material.JUNGLE_STAIRS, langConfig.getString("block.minecraft.jungle_stairs", "Jungle Stairs"))); - itemNames.add(new ItemName(Material.ACACIA_STAIRS, langConfig.getString("block.minecraft.acacia_stairs", "Acacia Stairs"))); - itemNames.add(new ItemName(Material.DARK_OAK_STAIRS, langConfig.getString("block.minecraft.dark_oak_stairs", "Dark Oak Stairs"))); - itemNames.add(new ItemName(Material.DARK_PRISMARINE_STAIRS, langConfig.getString("block.minecraft.dark_prismarine_stairs", "Dark Prismarine Stairs"))); - itemNames.add(new ItemName(Material.PRISMARINE_STAIRS, langConfig.getString("block.minecraft.prismarine_stairs", "Prismarine Stairs"))); - itemNames.add(new ItemName(Material.PRISMARINE_BRICK_STAIRS, langConfig.getString("block.minecraft.prismarine_brick_stairs", "Prismarine Brick Stairs"))); - itemNames.add(new ItemName(Material.CHEST, langConfig.getString("block.minecraft.chest", "Chest"))); - itemNames.add(new ItemName(Material.TRAPPED_CHEST, langConfig.getString("block.minecraft.trapped_chest", "Trapped Chest"))); - itemNames.add(new ItemName(Material.REDSTONE_WIRE, langConfig.getString("block.minecraft.redstone_wire", "Redstone Dust"))); - itemNames.add(new ItemName(Material.DIAMOND_ORE, langConfig.getString("block.minecraft.diamond_ore", "Diamond Ore"))); - itemNames.add(new ItemName(Material.COAL_BLOCK, langConfig.getString("block.minecraft.coal_block", "Block of Coal"))); - itemNames.add(new ItemName(Material.DIAMOND_BLOCK, langConfig.getString("block.minecraft.diamond_block", "Block of Diamond"))); - itemNames.add(new ItemName(Material.CRAFTING_TABLE, langConfig.getString("block.minecraft.crafting_table", "Crafting Table"))); - itemNames.add(new ItemName(Material.WHEAT, langConfig.getString("block.minecraft.wheat", "Wheat Crops"))); - itemNames.add(new ItemName(Material.FARMLAND, langConfig.getString("block.minecraft.farmland", "Farmland"))); - itemNames.add(new ItemName(Material.FURNACE, langConfig.getString("block.minecraft.furnace", "Furnace"))); - itemNames.add(new ItemName(Material.LADDER, langConfig.getString("block.minecraft.ladder", "Ladder"))); - itemNames.add(new ItemName(Material.RAIL, langConfig.getString("block.minecraft.rail", "Rail"))); - itemNames.add(new ItemName(Material.POWERED_RAIL, langConfig.getString("block.minecraft.powered_rail", "Powered Rail"))); - itemNames.add(new ItemName(Material.ACTIVATOR_RAIL, langConfig.getString("block.minecraft.activator_rail", "Activator Rail"))); - itemNames.add(new ItemName(Material.DETECTOR_RAIL, langConfig.getString("block.minecraft.detector_rail", "Detector Rail"))); - itemNames.add(new ItemName(Material.COBBLESTONE_STAIRS, langConfig.getString("block.minecraft.cobblestone_stairs", "Cobblestone Stairs"))); - itemNames.add(new ItemName(Material.SANDSTONE_STAIRS, langConfig.getString("block.minecraft.sandstone_stairs", "Sandstone Stairs"))); - itemNames.add(new ItemName(Material.RED_SANDSTONE_STAIRS, langConfig.getString("block.minecraft.red_sandstone_stairs", "Red Sandstone Stairs"))); - itemNames.add(new ItemName(Material.LEVER, langConfig.getString("block.minecraft.lever", "Lever"))); - itemNames.add(new ItemName(Material.STONE_PRESSURE_PLATE, langConfig.getString("block.minecraft.stone_pressure_plate", "Stone Pressure Plate"))); - itemNames.add(new ItemName(Material.OAK_PRESSURE_PLATE, langConfig.getString("block.minecraft.oak_pressure_plate", "Oak Pressure Plate"))); - itemNames.add(new ItemName(Material.SPRUCE_PRESSURE_PLATE, langConfig.getString("block.minecraft.spruce_pressure_plate", "Spruce Pressure Plate"))); - itemNames.add(new ItemName(Material.BIRCH_PRESSURE_PLATE, langConfig.getString("block.minecraft.birch_pressure_plate", "Birch Pressure Plate"))); - itemNames.add(new ItemName(Material.JUNGLE_PRESSURE_PLATE, langConfig.getString("block.minecraft.jungle_pressure_plate", "Jungle Pressure Plate"))); - itemNames.add(new ItemName(Material.ACACIA_PRESSURE_PLATE, langConfig.getString("block.minecraft.acacia_pressure_plate", "Acacia Pressure Plate"))); - itemNames.add(new ItemName(Material.DARK_OAK_PRESSURE_PLATE, langConfig.getString("block.minecraft.dark_oak_pressure_plate", "Dark Oak Pressure Plate"))); - itemNames.add(new ItemName(Material.LIGHT_WEIGHTED_PRESSURE_PLATE, langConfig.getString("block.minecraft.light_weighted_pressure_plate", "Light Weighted Pressure Plate"))); - itemNames.add(new ItemName(Material.HEAVY_WEIGHTED_PRESSURE_PLATE, langConfig.getString("block.minecraft.heavy_weighted_pressure_plate", "Heavy Weighted Pressure Plate"))); - itemNames.add(new ItemName(Material.IRON_DOOR, langConfig.getString("block.minecraft.iron_door", "Iron Door"))); - itemNames.add(new ItemName(Material.REDSTONE_ORE, langConfig.getString("block.minecraft.redstone_ore", "Redstone Ore"))); - itemNames.add(new ItemName(Material.REDSTONE_TORCH, langConfig.getString("block.minecraft.redstone_torch", "Redstone Torch"))); - itemNames.add(new ItemName(Material.REDSTONE_WALL_TORCH, langConfig.getString("block.minecraft.redstone_wall_torch", "Redstone Wall Torch"))); - itemNames.add(new ItemName(Material.STONE_BUTTON, langConfig.getString("block.minecraft.stone_button", "Stone Button"))); - itemNames.add(new ItemName(Material.OAK_BUTTON, langConfig.getString("block.minecraft.oak_button", "Oak Button"))); - itemNames.add(new ItemName(Material.SPRUCE_BUTTON, langConfig.getString("block.minecraft.spruce_button", "Spruce Button"))); - itemNames.add(new ItemName(Material.BIRCH_BUTTON, langConfig.getString("block.minecraft.birch_button", "Birch Button"))); - itemNames.add(new ItemName(Material.JUNGLE_BUTTON, langConfig.getString("block.minecraft.jungle_button", "Jungle Button"))); - itemNames.add(new ItemName(Material.ACACIA_BUTTON, langConfig.getString("block.minecraft.acacia_button", "Acacia Button"))); - itemNames.add(new ItemName(Material.DARK_OAK_BUTTON, langConfig.getString("block.minecraft.dark_oak_button", "Dark Oak Button"))); - itemNames.add(new ItemName(Material.SNOW, langConfig.getString("block.minecraft.snow", "Snow"))); - itemNames.add(new ItemName(Material.WHITE_CARPET, langConfig.getString("block.minecraft.white_carpet", "White Carpet"))); - itemNames.add(new ItemName(Material.ORANGE_CARPET, langConfig.getString("block.minecraft.orange_carpet", "Orange Carpet"))); - itemNames.add(new ItemName(Material.MAGENTA_CARPET, langConfig.getString("block.minecraft.magenta_carpet", "Magenta Carpet"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_CARPET, langConfig.getString("block.minecraft.light_blue_carpet", "Light Blue Carpet"))); - itemNames.add(new ItemName(Material.YELLOW_CARPET, langConfig.getString("block.minecraft.yellow_carpet", "Yellow Carpet"))); - itemNames.add(new ItemName(Material.LIME_CARPET, langConfig.getString("block.minecraft.lime_carpet", "Lime Carpet"))); - itemNames.add(new ItemName(Material.PINK_CARPET, langConfig.getString("block.minecraft.pink_carpet", "Pink Carpet"))); - itemNames.add(new ItemName(Material.GRAY_CARPET, langConfig.getString("block.minecraft.gray_carpet", "Gray Carpet"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_CARPET, langConfig.getString("block.minecraft.light_gray_carpet", "Light Gray Carpet"))); - itemNames.add(new ItemName(Material.CYAN_CARPET, langConfig.getString("block.minecraft.cyan_carpet", "Cyan Carpet"))); - itemNames.add(new ItemName(Material.PURPLE_CARPET, langConfig.getString("block.minecraft.purple_carpet", "Purple Carpet"))); - itemNames.add(new ItemName(Material.BLUE_CARPET, langConfig.getString("block.minecraft.blue_carpet", "Blue Carpet"))); - itemNames.add(new ItemName(Material.BROWN_CARPET, langConfig.getString("block.minecraft.brown_carpet", "Brown Carpet"))); - itemNames.add(new ItemName(Material.GREEN_CARPET, langConfig.getString("block.minecraft.green_carpet", "Green Carpet"))); - itemNames.add(new ItemName(Material.RED_CARPET, langConfig.getString("block.minecraft.red_carpet", "Red Carpet"))); - itemNames.add(new ItemName(Material.BLACK_CARPET, langConfig.getString("block.minecraft.black_carpet", "Black Carpet"))); - itemNames.add(new ItemName(Material.ICE, langConfig.getString("block.minecraft.ice", "Ice"))); - itemNames.add(new ItemName(Material.FROSTED_ICE, langConfig.getString("block.minecraft.frosted_ice", "Frosted Ice"))); - itemNames.add(new ItemName(Material.PACKED_ICE, langConfig.getString("block.minecraft.packed_ice", "Packed Ice"))); - itemNames.add(new ItemName(Material.BLUE_ICE, langConfig.getString("block.minecraft.blue_ice", "Blue Ice"))); - itemNames.add(new ItemName(Material.CACTUS, langConfig.getString("block.minecraft.cactus", "Cactus"))); - itemNames.add(new ItemName(Material.CLAY, langConfig.getString("block.minecraft.clay", "Clay"))); - itemNames.add(new ItemName(Material.WHITE_TERRACOTTA, langConfig.getString("block.minecraft.white_terracotta", "White Terracotta"))); - itemNames.add(new ItemName(Material.ORANGE_TERRACOTTA, langConfig.getString("block.minecraft.orange_terracotta", "Orange Terracotta"))); - itemNames.add(new ItemName(Material.MAGENTA_TERRACOTTA, langConfig.getString("block.minecraft.magenta_terracotta", "Magenta Terracotta"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_TERRACOTTA, langConfig.getString("block.minecraft.light_blue_terracotta", "Light Blue Terracotta"))); - itemNames.add(new ItemName(Material.YELLOW_TERRACOTTA, langConfig.getString("block.minecraft.yellow_terracotta", "Yellow Terracotta"))); - itemNames.add(new ItemName(Material.LIME_TERRACOTTA, langConfig.getString("block.minecraft.lime_terracotta", "Lime Terracotta"))); - itemNames.add(new ItemName(Material.PINK_TERRACOTTA, langConfig.getString("block.minecraft.pink_terracotta", "Pink Terracotta"))); - itemNames.add(new ItemName(Material.GRAY_TERRACOTTA, langConfig.getString("block.minecraft.gray_terracotta", "Gray Terracotta"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_TERRACOTTA, langConfig.getString("block.minecraft.light_gray_terracotta", "Light Gray Terracotta"))); - itemNames.add(new ItemName(Material.CYAN_TERRACOTTA, langConfig.getString("block.minecraft.cyan_terracotta", "Cyan Terracotta"))); - itemNames.add(new ItemName(Material.PURPLE_TERRACOTTA, langConfig.getString("block.minecraft.purple_terracotta", "Purple Terracotta"))); - itemNames.add(new ItemName(Material.BLUE_TERRACOTTA, langConfig.getString("block.minecraft.blue_terracotta", "Blue Terracotta"))); - itemNames.add(new ItemName(Material.BROWN_TERRACOTTA, langConfig.getString("block.minecraft.brown_terracotta", "Brown Terracotta"))); - itemNames.add(new ItemName(Material.GREEN_TERRACOTTA, langConfig.getString("block.minecraft.green_terracotta", "Green Terracotta"))); - itemNames.add(new ItemName(Material.RED_TERRACOTTA, langConfig.getString("block.minecraft.red_terracotta", "Red Terracotta"))); - itemNames.add(new ItemName(Material.BLACK_TERRACOTTA, langConfig.getString("block.minecraft.black_terracotta", "Black Terracotta"))); - itemNames.add(new ItemName(Material.TERRACOTTA, langConfig.getString("block.minecraft.terracotta", "Terracotta"))); - itemNames.add(new ItemName(Material.SUGAR_CANE, langConfig.getString("block.minecraft.sugar_cane", "Sugar Cane"))); - itemNames.add(new ItemName(Material.JUKEBOX, langConfig.getString("block.minecraft.jukebox", "Jukebox"))); - itemNames.add(new ItemName(Material.OAK_FENCE, langConfig.getString("block.minecraft.oak_fence", "Oak Fence"))); - itemNames.add(new ItemName(Material.SPRUCE_FENCE, langConfig.getString("block.minecraft.spruce_fence", "Spruce Fence"))); - itemNames.add(new ItemName(Material.BIRCH_FENCE, langConfig.getString("block.minecraft.birch_fence", "Birch Fence"))); - itemNames.add(new ItemName(Material.JUNGLE_FENCE, langConfig.getString("block.minecraft.jungle_fence", "Jungle Fence"))); - itemNames.add(new ItemName(Material.DARK_OAK_FENCE, langConfig.getString("block.minecraft.dark_oak_fence", "Dark Oak Fence"))); - itemNames.add(new ItemName(Material.ACACIA_FENCE, langConfig.getString("block.minecraft.acacia_fence", "Acacia Fence"))); - itemNames.add(new ItemName(Material.OAK_FENCE_GATE, langConfig.getString("block.minecraft.oak_fence_gate", "Oak Fence Gate"))); - itemNames.add(new ItemName(Material.SPRUCE_FENCE_GATE, langConfig.getString("block.minecraft.spruce_fence_gate", "Spruce Fence Gate"))); - itemNames.add(new ItemName(Material.BIRCH_FENCE_GATE, langConfig.getString("block.minecraft.birch_fence_gate", "Birch Fence Gate"))); - itemNames.add(new ItemName(Material.JUNGLE_FENCE_GATE, langConfig.getString("block.minecraft.jungle_fence_gate", "Jungle Fence Gate"))); - itemNames.add(new ItemName(Material.DARK_OAK_FENCE_GATE, langConfig.getString("block.minecraft.dark_oak_fence_gate", "Dark Oak Fence Gate"))); - itemNames.add(new ItemName(Material.ACACIA_FENCE_GATE, langConfig.getString("block.minecraft.acacia_fence_gate", "Acacia Fence Gate"))); - itemNames.add(new ItemName(Material.PUMPKIN_STEM, langConfig.getString("block.minecraft.pumpkin_stem", "Pumpkin Stem"))); - itemNames.add(new ItemName(Material.ATTACHED_PUMPKIN_STEM, langConfig.getString("block.minecraft.attached_pumpkin_stem", "Attached Pumpkin Stem"))); - itemNames.add(new ItemName(Material.PUMPKIN, langConfig.getString("block.minecraft.pumpkin", "Pumpkin"))); - itemNames.add(new ItemName(Material.CARVED_PUMPKIN, langConfig.getString("block.minecraft.carved_pumpkin", "Carved Pumpkin"))); - itemNames.add(new ItemName(Material.JACK_O_LANTERN, langConfig.getString("block.minecraft.jack_o_lantern", "Jack o'Lantern"))); - itemNames.add(new ItemName(Material.NETHERRACK, langConfig.getString("block.minecraft.netherrack", "Netherrack"))); - itemNames.add(new ItemName(Material.SOUL_SAND, langConfig.getString("block.minecraft.soul_sand", "Soul Sand"))); - itemNames.add(new ItemName(Material.GLOWSTONE, langConfig.getString("block.minecraft.glowstone", "Glowstone"))); - itemNames.add(new ItemName(Material.NETHER_PORTAL, langConfig.getString("block.minecraft.nether_portal", "Nether Portal"))); - itemNames.add(new ItemName(Material.WHITE_WOOL, langConfig.getString("block.minecraft.white_wool", "White Wool"))); - itemNames.add(new ItemName(Material.ORANGE_WOOL, langConfig.getString("block.minecraft.orange_wool", "Orange Wool"))); - itemNames.add(new ItemName(Material.MAGENTA_WOOL, langConfig.getString("block.minecraft.magenta_wool", "Magenta Wool"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_WOOL, langConfig.getString("block.minecraft.light_blue_wool", "Light Blue Wool"))); - itemNames.add(new ItemName(Material.YELLOW_WOOL, langConfig.getString("block.minecraft.yellow_wool", "Yellow Wool"))); - itemNames.add(new ItemName(Material.LIME_WOOL, langConfig.getString("block.minecraft.lime_wool", "Lime Wool"))); - itemNames.add(new ItemName(Material.PINK_WOOL, langConfig.getString("block.minecraft.pink_wool", "Pink Wool"))); - itemNames.add(new ItemName(Material.GRAY_WOOL, langConfig.getString("block.minecraft.gray_wool", "Gray Wool"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_WOOL, langConfig.getString("block.minecraft.light_gray_wool", "Light Gray Wool"))); - itemNames.add(new ItemName(Material.CYAN_WOOL, langConfig.getString("block.minecraft.cyan_wool", "Cyan Wool"))); - itemNames.add(new ItemName(Material.PURPLE_WOOL, langConfig.getString("block.minecraft.purple_wool", "Purple Wool"))); - itemNames.add(new ItemName(Material.BLUE_WOOL, langConfig.getString("block.minecraft.blue_wool", "Blue Wool"))); - itemNames.add(new ItemName(Material.BROWN_WOOL, langConfig.getString("block.minecraft.brown_wool", "Brown Wool"))); - itemNames.add(new ItemName(Material.GREEN_WOOL, langConfig.getString("block.minecraft.green_wool", "Green Wool"))); - itemNames.add(new ItemName(Material.RED_WOOL, langConfig.getString("block.minecraft.red_wool", "Red Wool"))); - itemNames.add(new ItemName(Material.BLACK_WOOL, langConfig.getString("block.minecraft.black_wool", "Black Wool"))); - itemNames.add(new ItemName(Material.LAPIS_ORE, langConfig.getString("block.minecraft.lapis_ore", "Lapis Lazuli Ore"))); - itemNames.add(new ItemName(Material.LAPIS_BLOCK, langConfig.getString("block.minecraft.lapis_block", "Lapis Lazuli Block"))); - itemNames.add(new ItemName(Material.DISPENSER, langConfig.getString("block.minecraft.dispenser", "Dispenser"))); - itemNames.add(new ItemName(Material.DROPPER, langConfig.getString("block.minecraft.dropper", "Dropper"))); - itemNames.add(new ItemName(Material.NOTE_BLOCK, langConfig.getString("block.minecraft.note_block", "Note Block"))); - itemNames.add(new ItemName(Material.CAKE, langConfig.getString("block.minecraft.cake", "Cake"))); - itemNames.add(new ItemName(Material.OAK_TRAPDOOR, langConfig.getString("block.minecraft.oak_trapdoor", "Oak Trapdoor"))); - itemNames.add(new ItemName(Material.SPRUCE_TRAPDOOR, langConfig.getString("block.minecraft.spruce_trapdoor", "Spruce Trapdoor"))); - itemNames.add(new ItemName(Material.BIRCH_TRAPDOOR, langConfig.getString("block.minecraft.birch_trapdoor", "Birch Trapdoor"))); - itemNames.add(new ItemName(Material.JUNGLE_TRAPDOOR, langConfig.getString("block.minecraft.jungle_trapdoor", "Jungle Trapdoor"))); - itemNames.add(new ItemName(Material.ACACIA_TRAPDOOR, langConfig.getString("block.minecraft.acacia_trapdoor", "Acacia Trapdoor"))); - itemNames.add(new ItemName(Material.DARK_OAK_TRAPDOOR, langConfig.getString("block.minecraft.dark_oak_trapdoor", "Dark Oak Trapdoor"))); - itemNames.add(new ItemName(Material.IRON_TRAPDOOR, langConfig.getString("block.minecraft.iron_trapdoor", "Iron Trapdoor"))); - itemNames.add(new ItemName(Material.COBWEB, langConfig.getString("block.minecraft.cobweb", "Cobweb"))); - itemNames.add(new ItemName(Material.STONE_BRICKS, langConfig.getString("block.minecraft.stone_bricks", "Stone Bricks"))); - itemNames.add(new ItemName(Material.MOSSY_STONE_BRICKS, langConfig.getString("block.minecraft.mossy_stone_bricks", "Mossy Stone Bricks"))); - itemNames.add(new ItemName(Material.CRACKED_STONE_BRICKS, langConfig.getString("block.minecraft.cracked_stone_bricks", "Cracked Stone Bricks"))); - itemNames.add(new ItemName(Material.CHISELED_STONE_BRICKS, langConfig.getString("block.minecraft.chiseled_stone_bricks", "Chiseled Stone Bricks"))); - itemNames.add(new ItemName(Material.INFESTED_STONE, langConfig.getString("block.minecraft.infested_stone", "Infested Stone"))); - itemNames.add(new ItemName(Material.INFESTED_COBBLESTONE, langConfig.getString("block.minecraft.infested_cobblestone", "Infested Cobblestone"))); - itemNames.add(new ItemName(Material.INFESTED_STONE_BRICKS, langConfig.getString("block.minecraft.infested_stone_bricks", "Infested Stone Bricks"))); - itemNames.add(new ItemName(Material.INFESTED_MOSSY_STONE_BRICKS, langConfig.getString("block.minecraft.infested_mossy_stone_bricks", "Infested Mossy Stone Bricks"))); - itemNames.add(new ItemName(Material.INFESTED_CRACKED_STONE_BRICKS, langConfig.getString("block.minecraft.infested_cracked_stone_bricks", "Infested Cracked Stone Bricks"))); - itemNames.add(new ItemName(Material.INFESTED_CHISELED_STONE_BRICKS, langConfig.getString("block.minecraft.infested_chiseled_stone_bricks", "Infested Chiseled Stone Bricks"))); - itemNames.add(new ItemName(Material.PISTON, langConfig.getString("block.minecraft.piston", "Piston"))); - itemNames.add(new ItemName(Material.STICKY_PISTON, langConfig.getString("block.minecraft.sticky_piston", "Sticky Piston"))); - itemNames.add(new ItemName(Material.IRON_BARS, langConfig.getString("block.minecraft.iron_bars", "Iron Bars"))); - itemNames.add(new ItemName(Material.MELON, langConfig.getString("block.minecraft.melon", "Melon"))); - itemNames.add(new ItemName(Material.BRICK_STAIRS, langConfig.getString("block.minecraft.brick_stairs", "Brick Stairs"))); - itemNames.add(new ItemName(Material.STONE_BRICK_STAIRS, langConfig.getString("block.minecraft.stone_brick_stairs", "Stone Brick Stairs"))); - itemNames.add(new ItemName(Material.VINE, langConfig.getString("block.minecraft.vine", "Vines"))); - itemNames.add(new ItemName(Material.NETHER_BRICKS, langConfig.getString("block.minecraft.nether_bricks", "Nether Bricks"))); - itemNames.add(new ItemName(Material.NETHER_BRICK_FENCE, langConfig.getString("block.minecraft.nether_brick_fence", "Nether Brick Fence"))); - itemNames.add(new ItemName(Material.NETHER_BRICK_STAIRS, langConfig.getString("block.minecraft.nether_brick_stairs", "Nether Brick Stairs"))); - itemNames.add(new ItemName(Material.NETHER_WART, langConfig.getString("block.minecraft.nether_wart", "Nether Wart"))); - itemNames.add(new ItemName(Material.CAULDRON, langConfig.getString("block.minecraft.cauldron", "Cauldron"))); - itemNames.add(new ItemName(Material.ENCHANTING_TABLE, langConfig.getString("block.minecraft.enchanting_table", "Enchanting Table"))); - itemNames.add(new ItemName(Material.ANVIL, langConfig.getString("block.minecraft.anvil", "Anvil"))); - itemNames.add(new ItemName(Material.CHIPPED_ANVIL, langConfig.getString("block.minecraft.chipped_anvil", "Chipped Anvil"))); - itemNames.add(new ItemName(Material.DAMAGED_ANVIL, langConfig.getString("block.minecraft.damaged_anvil", "Damaged Anvil"))); - itemNames.add(new ItemName(Material.END_STONE, langConfig.getString("block.minecraft.end_stone", "End Stone"))); - itemNames.add(new ItemName(Material.END_PORTAL_FRAME, langConfig.getString("block.minecraft.end_portal_frame", "End Portal Frame"))); - itemNames.add(new ItemName(Material.MYCELIUM, langConfig.getString("block.minecraft.mycelium", "Mycelium"))); - itemNames.add(new ItemName(Material.LILY_PAD, langConfig.getString("block.minecraft.lily_pad", "Lily Pad"))); - itemNames.add(new ItemName(Material.DRAGON_EGG, langConfig.getString("block.minecraft.dragon_egg", "Dragon Egg"))); - itemNames.add(new ItemName(Material.REDSTONE_LAMP, langConfig.getString("block.minecraft.redstone_lamp", "Redstone Lamp"))); - itemNames.add(new ItemName(Material.COCOA, langConfig.getString("block.minecraft.cocoa", "Cocoa"))); - itemNames.add(new ItemName(Material.ENDER_CHEST, langConfig.getString("block.minecraft.ender_chest", "Ender Chest"))); - itemNames.add(new ItemName(Material.EMERALD_ORE, langConfig.getString("block.minecraft.emerald_ore", "Emerald Ore"))); - itemNames.add(new ItemName(Material.EMERALD_BLOCK, langConfig.getString("block.minecraft.emerald_block", "Block of Emerald"))); - itemNames.add(new ItemName(Material.REDSTONE_BLOCK, langConfig.getString("block.minecraft.redstone_block", "Block of Redstone"))); - itemNames.add(new ItemName(Material.TRIPWIRE, langConfig.getString("block.minecraft.tripwire", "Tripwire"))); - itemNames.add(new ItemName(Material.TRIPWIRE_HOOK, langConfig.getString("block.minecraft.tripwire_hook", "Tripwire Hook"))); - itemNames.add(new ItemName(Material.COMMAND_BLOCK, langConfig.getString("block.minecraft.command_block", "Command Block"))); - itemNames.add(new ItemName(Material.REPEATING_COMMAND_BLOCK, langConfig.getString("block.minecraft.repeating_command_block", "Repeating Command Block"))); - itemNames.add(new ItemName(Material.CHAIN_COMMAND_BLOCK, langConfig.getString("block.minecraft.chain_command_block", "Chain Command Block"))); - itemNames.add(new ItemName(Material.BEACON, langConfig.getString("block.minecraft.beacon", "Beacon"))); - itemNames.add(new ItemName(Material.COBBLESTONE_WALL, langConfig.getString("block.minecraft.cobblestone_wall", "Cobblestone Wall"))); - itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE_WALL, langConfig.getString("block.minecraft.mossy_cobblestone_wall", "Mossy Cobblestone Wall"))); - itemNames.add(new ItemName(Material.CARROTS, langConfig.getString("block.minecraft.carrots", "Carrots"))); - itemNames.add(new ItemName(Material.POTATOES, langConfig.getString("block.minecraft.potatoes", "Potatoes"))); - itemNames.add(new ItemName(Material.DAYLIGHT_DETECTOR, langConfig.getString("block.minecraft.daylight_detector", "Daylight Detector"))); - itemNames.add(new ItemName(Material.NETHER_QUARTZ_ORE, langConfig.getString("block.minecraft.nether_quartz_ore", "Nether Quartz Ore"))); - itemNames.add(new ItemName(Material.HOPPER, langConfig.getString("block.minecraft.hopper", "Hopper"))); - itemNames.add(new ItemName(Material.QUARTZ_BLOCK, langConfig.getString("block.minecraft.quartz_block", "Block of Quartz"))); - itemNames.add(new ItemName(Material.CHISELED_QUARTZ_BLOCK, langConfig.getString("block.minecraft.chiseled_quartz_block", "Chiseled Quartz Block"))); - itemNames.add(new ItemName(Material.QUARTZ_PILLAR, langConfig.getString("block.minecraft.quartz_pillar", "Quartz Pillar"))); - itemNames.add(new ItemName(Material.QUARTZ_STAIRS, langConfig.getString("block.minecraft.quartz_stairs", "Quartz Stairs"))); - itemNames.add(new ItemName(Material.SLIME_BLOCK, langConfig.getString("block.minecraft.slime_block", "Slime Block"))); - itemNames.add(new ItemName(Material.PRISMARINE, langConfig.getString("block.minecraft.prismarine", "Prismarine"))); - itemNames.add(new ItemName(Material.PRISMARINE_BRICKS, langConfig.getString("block.minecraft.prismarine_bricks", "Prismarine Bricks"))); - itemNames.add(new ItemName(Material.DARK_PRISMARINE, langConfig.getString("block.minecraft.dark_prismarine", "Dark Prismarine"))); - itemNames.add(new ItemName(Material.SEA_LANTERN, langConfig.getString("block.minecraft.sea_lantern", "Sea Lantern"))); - itemNames.add(new ItemName(Material.END_ROD, langConfig.getString("block.minecraft.end_rod", "End Rod"))); - itemNames.add(new ItemName(Material.CHORUS_PLANT, langConfig.getString("block.minecraft.chorus_plant", "Chorus Plant"))); - itemNames.add(new ItemName(Material.CHORUS_FLOWER, langConfig.getString("block.minecraft.chorus_flower", "Chorus Flower"))); - itemNames.add(new ItemName(Material.PURPUR_BLOCK, langConfig.getString("block.minecraft.purpur_block", "Purpur Block"))); - itemNames.add(new ItemName(Material.PURPUR_PILLAR, langConfig.getString("block.minecraft.purpur_pillar", "Purpur Pillar"))); - itemNames.add(new ItemName(Material.PURPUR_STAIRS, langConfig.getString("block.minecraft.purpur_stairs", "Purpur Stairs"))); - itemNames.add(new ItemName(Material.PURPUR_SLAB, langConfig.getString("block.minecraft.purpur_slab", "Purpur Slab"))); - itemNames.add(new ItemName(Material.END_STONE_BRICKS, langConfig.getString("block.minecraft.end_stone_bricks", "End Stone Bricks"))); - itemNames.add(new ItemName(Material.BEETROOTS, langConfig.getString("block.minecraft.beetroots", "Beetroots"))); - itemNames.add(new ItemName(Material.GRASS_PATH, langConfig.getString("block.minecraft.grass_path", "Grass Path"))); - itemNames.add(new ItemName(Material.MAGMA_BLOCK, langConfig.getString("block.minecraft.magma_block", "Magma Block"))); - itemNames.add(new ItemName(Material.NETHER_WART_BLOCK, langConfig.getString("block.minecraft.nether_wart_block", "Nether Wart Block"))); - itemNames.add(new ItemName(Material.RED_NETHER_BRICKS, langConfig.getString("block.minecraft.red_nether_bricks", "Red Nether Bricks"))); - itemNames.add(new ItemName(Material.BONE_BLOCK, langConfig.getString("block.minecraft.bone_block", "Bone Block"))); - itemNames.add(new ItemName(Material.OBSERVER, langConfig.getString("block.minecraft.observer", "Observer"))); - itemNames.add(new ItemName(Material.SHULKER_BOX, langConfig.getString("block.minecraft.shulker_box", "Shulker Box"))); - itemNames.add(new ItemName(Material.WHITE_SHULKER_BOX, langConfig.getString("block.minecraft.white_shulker_box", "White Shulker Box"))); - itemNames.add(new ItemName(Material.ORANGE_SHULKER_BOX, langConfig.getString("block.minecraft.orange_shulker_box", "Orange Shulker Box"))); - itemNames.add(new ItemName(Material.MAGENTA_SHULKER_BOX, langConfig.getString("block.minecraft.magenta_shulker_box", "Magenta Shulker Box"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_SHULKER_BOX, langConfig.getString("block.minecraft.light_blue_shulker_box", "Light Blue Shulker Box"))); - itemNames.add(new ItemName(Material.YELLOW_SHULKER_BOX, langConfig.getString("block.minecraft.yellow_shulker_box", "Yellow Shulker Box"))); - itemNames.add(new ItemName(Material.LIME_SHULKER_BOX, langConfig.getString("block.minecraft.lime_shulker_box", "Lime Shulker Box"))); - itemNames.add(new ItemName(Material.PINK_SHULKER_BOX, langConfig.getString("block.minecraft.pink_shulker_box", "Pink Shulker Box"))); - itemNames.add(new ItemName(Material.GRAY_SHULKER_BOX, langConfig.getString("block.minecraft.gray_shulker_box", "Gray Shulker Box"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_SHULKER_BOX, langConfig.getString("block.minecraft.light_gray_shulker_box", "Light Gray Shulker Box"))); - itemNames.add(new ItemName(Material.CYAN_SHULKER_BOX, langConfig.getString("block.minecraft.cyan_shulker_box", "Cyan Shulker Box"))); - itemNames.add(new ItemName(Material.PURPLE_SHULKER_BOX, langConfig.getString("block.minecraft.purple_shulker_box", "Purple Shulker Box"))); - itemNames.add(new ItemName(Material.BLUE_SHULKER_BOX, langConfig.getString("block.minecraft.blue_shulker_box", "Blue Shulker Box"))); - itemNames.add(new ItemName(Material.BROWN_SHULKER_BOX, langConfig.getString("block.minecraft.brown_shulker_box", "Brown Shulker Box"))); - itemNames.add(new ItemName(Material.GREEN_SHULKER_BOX, langConfig.getString("block.minecraft.green_shulker_box", "Green Shulker Box"))); - itemNames.add(new ItemName(Material.RED_SHULKER_BOX, langConfig.getString("block.minecraft.red_shulker_box", "Red Shulker Box"))); - itemNames.add(new ItemName(Material.BLACK_SHULKER_BOX, langConfig.getString("block.minecraft.black_shulker_box", "Black Shulker Box"))); - itemNames.add(new ItemName(Material.WHITE_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.white_glazed_terracotta", "White Glazed Terracotta"))); - itemNames.add(new ItemName(Material.ORANGE_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.orange_glazed_terracotta", "Orange Glazed Terracotta"))); - itemNames.add(new ItemName(Material.MAGENTA_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.magenta_glazed_terracotta", "Magenta Glazed Terracotta"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.light_blue_glazed_terracotta", "Light Blue Glazed Terracotta"))); - itemNames.add(new ItemName(Material.YELLOW_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.yellow_glazed_terracotta", "Yellow Glazed Terracotta"))); - itemNames.add(new ItemName(Material.LIME_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.lime_glazed_terracotta", "Lime Glazed Terracotta"))); - itemNames.add(new ItemName(Material.PINK_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.pink_glazed_terracotta", "Pink Glazed Terracotta"))); - itemNames.add(new ItemName(Material.GRAY_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.gray_glazed_terracotta", "Gray Glazed Terracotta"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.light_gray_glazed_terracotta", "Light Gray Glazed Terracotta"))); - itemNames.add(new ItemName(Material.CYAN_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.cyan_glazed_terracotta", "Cyan Glazed Terracotta"))); - itemNames.add(new ItemName(Material.PURPLE_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.purple_glazed_terracotta", "Purple Glazed Terracotta"))); - itemNames.add(new ItemName(Material.BLUE_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.blue_glazed_terracotta", "Blue Glazed Terracotta"))); - itemNames.add(new ItemName(Material.BROWN_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.brown_glazed_terracotta", "Brown Glazed Terracotta"))); - itemNames.add(new ItemName(Material.GREEN_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.green_glazed_terracotta", "Green Glazed Terracotta"))); - itemNames.add(new ItemName(Material.RED_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.red_glazed_terracotta", "Red Glazed Terracotta"))); - itemNames.add(new ItemName(Material.BLACK_GLAZED_TERRACOTTA, langConfig.getString("block.minecraft.black_glazed_terracotta", "Black Glazed Terracotta"))); - itemNames.add(new ItemName(Material.BLACK_CONCRETE, langConfig.getString("block.minecraft.black_concrete", "Black Concrete"))); - itemNames.add(new ItemName(Material.RED_CONCRETE, langConfig.getString("block.minecraft.red_concrete", "Red Concrete"))); - itemNames.add(new ItemName(Material.GREEN_CONCRETE, langConfig.getString("block.minecraft.green_concrete", "Green Concrete"))); - itemNames.add(new ItemName(Material.BROWN_CONCRETE, langConfig.getString("block.minecraft.brown_concrete", "Brown Concrete"))); - itemNames.add(new ItemName(Material.BLUE_CONCRETE, langConfig.getString("block.minecraft.blue_concrete", "Blue Concrete"))); - itemNames.add(new ItemName(Material.PURPLE_CONCRETE, langConfig.getString("block.minecraft.purple_concrete", "Purple Concrete"))); - itemNames.add(new ItemName(Material.CYAN_CONCRETE, langConfig.getString("block.minecraft.cyan_concrete", "Cyan Concrete"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_CONCRETE, langConfig.getString("block.minecraft.light_gray_concrete", "Light Gray Concrete"))); - itemNames.add(new ItemName(Material.GRAY_CONCRETE, langConfig.getString("block.minecraft.gray_concrete", "Gray Concrete"))); - itemNames.add(new ItemName(Material.PINK_CONCRETE, langConfig.getString("block.minecraft.pink_concrete", "Pink Concrete"))); - itemNames.add(new ItemName(Material.LIME_CONCRETE, langConfig.getString("block.minecraft.lime_concrete", "Lime Concrete"))); - itemNames.add(new ItemName(Material.YELLOW_CONCRETE, langConfig.getString("block.minecraft.yellow_concrete", "Yellow Concrete"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_CONCRETE, langConfig.getString("block.minecraft.light_blue_concrete", "Light Blue Concrete"))); - itemNames.add(new ItemName(Material.MAGENTA_CONCRETE, langConfig.getString("block.minecraft.magenta_concrete", "Magenta Concrete"))); - itemNames.add(new ItemName(Material.ORANGE_CONCRETE, langConfig.getString("block.minecraft.orange_concrete", "Orange Concrete"))); - itemNames.add(new ItemName(Material.WHITE_CONCRETE, langConfig.getString("block.minecraft.white_concrete", "White Concrete"))); - itemNames.add(new ItemName(Material.BLACK_CONCRETE_POWDER, langConfig.getString("block.minecraft.black_concrete_powder", "Black Concrete Powder"))); - itemNames.add(new ItemName(Material.RED_CONCRETE_POWDER, langConfig.getString("block.minecraft.red_concrete_powder", "Red Concrete Powder"))); - itemNames.add(new ItemName(Material.GREEN_CONCRETE_POWDER, langConfig.getString("block.minecraft.green_concrete_powder", "Green Concrete Powder"))); - itemNames.add(new ItemName(Material.BROWN_CONCRETE_POWDER, langConfig.getString("block.minecraft.brown_concrete_powder", "Brown Concrete Powder"))); - itemNames.add(new ItemName(Material.BLUE_CONCRETE_POWDER, langConfig.getString("block.minecraft.blue_concrete_powder", "Blue Concrete Powder"))); - itemNames.add(new ItemName(Material.PURPLE_CONCRETE_POWDER, langConfig.getString("block.minecraft.purple_concrete_powder", "Purple Concrete Powder"))); - itemNames.add(new ItemName(Material.CYAN_CONCRETE_POWDER, langConfig.getString("block.minecraft.cyan_concrete_powder", "Cyan Concrete Powder"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_CONCRETE_POWDER, langConfig.getString("block.minecraft.light_gray_concrete_powder", "Light Gray Concrete Powder"))); - itemNames.add(new ItemName(Material.GRAY_CONCRETE_POWDER, langConfig.getString("block.minecraft.gray_concrete_powder", "Gray Concrete Powder"))); - itemNames.add(new ItemName(Material.PINK_CONCRETE_POWDER, langConfig.getString("block.minecraft.pink_concrete_powder", "Pink Concrete Powder"))); - itemNames.add(new ItemName(Material.LIME_CONCRETE_POWDER, langConfig.getString("block.minecraft.lime_concrete_powder", "Lime Concrete Powder"))); - itemNames.add(new ItemName(Material.YELLOW_CONCRETE_POWDER, langConfig.getString("block.minecraft.yellow_concrete_powder", "Yellow Concrete Powder"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_CONCRETE_POWDER, langConfig.getString("block.minecraft.light_blue_concrete_powder", "Light Blue Concrete Powder"))); - itemNames.add(new ItemName(Material.MAGENTA_CONCRETE_POWDER, langConfig.getString("block.minecraft.magenta_concrete_powder", "Magenta Concrete Powder"))); - itemNames.add(new ItemName(Material.ORANGE_CONCRETE_POWDER, langConfig.getString("block.minecraft.orange_concrete_powder", "Orange Concrete Powder"))); - itemNames.add(new ItemName(Material.WHITE_CONCRETE_POWDER, langConfig.getString("block.minecraft.white_concrete_powder", "White Concrete Powder"))); - itemNames.add(new ItemName(Material.TURTLE_EGG, langConfig.getString("block.minecraft.turtle_egg", "Turtle Egg"))); - itemNames.add(new ItemName(Material.PISTON_HEAD, langConfig.getString("block.minecraft.piston_head", "Piston Head"))); - itemNames.add(new ItemName(Material.MOVING_PISTON, langConfig.getString("block.minecraft.moving_piston", "Moving Piston"))); - itemNames.add(new ItemName(Material.RED_MUSHROOM, langConfig.getString("block.minecraft.red_mushroom", "Red Mushroom"))); - itemNames.add(new ItemName(Material.SNOW_BLOCK, langConfig.getString("block.minecraft.snow_block", "Snow Block"))); - itemNames.add(new ItemName(Material.ATTACHED_MELON_STEM, langConfig.getString("block.minecraft.attached_melon_stem", "Attached Melon Stem"))); - itemNames.add(new ItemName(Material.MELON_STEM, langConfig.getString("block.minecraft.melon_stem", "Melon Stem"))); - itemNames.add(new ItemName(Material.BREWING_STAND, langConfig.getString("block.minecraft.brewing_stand", "Brewing Stand"))); - itemNames.add(new ItemName(Material.END_PORTAL, langConfig.getString("block.minecraft.end_portal", "End Portal"))); - itemNames.add(new ItemName(Material.FLOWER_POT, langConfig.getString("block.minecraft.flower_pot", "Flower Pot"))); - itemNames.add(new ItemName(Material.POTTED_OAK_SAPLING, langConfig.getString("block.minecraft.potted_oak_sapling", "Potted Oak Sapling"))); - itemNames.add(new ItemName(Material.POTTED_SPRUCE_SAPLING, langConfig.getString("block.minecraft.potted_spruce_sapling", "Potted Spruce Sapling"))); - itemNames.add(new ItemName(Material.POTTED_BIRCH_SAPLING, langConfig.getString("block.minecraft.potted_birch_sapling", "Potted Birch Sapling"))); - itemNames.add(new ItemName(Material.POTTED_JUNGLE_SAPLING, langConfig.getString("block.minecraft.potted_jungle_sapling", "Potted Jungle Sapling"))); - itemNames.add(new ItemName(Material.POTTED_ACACIA_SAPLING, langConfig.getString("block.minecraft.potted_acacia_sapling", "Potted Acacia Sapling"))); - itemNames.add(new ItemName(Material.POTTED_DARK_OAK_SAPLING, langConfig.getString("block.minecraft.potted_dark_oak_sapling", "Potted Dark Oak Sapling"))); - itemNames.add(new ItemName(Material.POTTED_FERN, langConfig.getString("block.minecraft.potted_fern", "Potted Fern"))); - itemNames.add(new ItemName(Material.POTTED_DANDELION, langConfig.getString("block.minecraft.potted_dandelion", "Potted Dandelion"))); - itemNames.add(new ItemName(Material.POTTED_POPPY, langConfig.getString("block.minecraft.potted_poppy", "Potted Poppy"))); - itemNames.add(new ItemName(Material.POTTED_BLUE_ORCHID, langConfig.getString("block.minecraft.potted_blue_orchid", "Potted Blue Orchid"))); - itemNames.add(new ItemName(Material.POTTED_ALLIUM, langConfig.getString("block.minecraft.potted_allium", "Potted Allium"))); - itemNames.add(new ItemName(Material.POTTED_AZURE_BLUET, langConfig.getString("block.minecraft.potted_azure_bluet", "Potted Azure Bluet"))); - itemNames.add(new ItemName(Material.POTTED_RED_TULIP, langConfig.getString("block.minecraft.potted_red_tulip", "Potted Red Tulip"))); - itemNames.add(new ItemName(Material.POTTED_ORANGE_TULIP, langConfig.getString("block.minecraft.potted_orange_tulip", "Potted Orange Tulip"))); - itemNames.add(new ItemName(Material.POTTED_WHITE_TULIP, langConfig.getString("block.minecraft.potted_white_tulip", "Potted White Tulip"))); - itemNames.add(new ItemName(Material.POTTED_PINK_TULIP, langConfig.getString("block.minecraft.potted_pink_tulip", "Potted Pink Tulip"))); - itemNames.add(new ItemName(Material.POTTED_OXEYE_DAISY, langConfig.getString("block.minecraft.potted_oxeye_daisy", "Potted Oxeye Daisy"))); - itemNames.add(new ItemName(Material.POTTED_RED_MUSHROOM, langConfig.getString("block.minecraft.potted_red_mushroom", "Potted Red Mushroom"))); - itemNames.add(new ItemName(Material.POTTED_BROWN_MUSHROOM, langConfig.getString("block.minecraft.potted_brown_mushroom", "Potted Brown Mushroom"))); - itemNames.add(new ItemName(Material.POTTED_DEAD_BUSH, langConfig.getString("block.minecraft.potted_dead_bush", "Potted Dead Bush"))); - itemNames.add(new ItemName(Material.POTTED_CACTUS, langConfig.getString("block.minecraft.potted_cactus", "Potted Cactus"))); - itemNames.add(new ItemName(Material.SKELETON_WALL_SKULL, langConfig.getString("block.minecraft.skeleton_wall_skull", "Skeleton Wall Skull"))); - itemNames.add(new ItemName(Material.SKELETON_SKULL, langConfig.getString("block.minecraft.skeleton_skull", "Skeleton Skull"))); - itemNames.add(new ItemName(Material.WITHER_SKELETON_WALL_SKULL, langConfig.getString("block.minecraft.wither_skeleton_wall_skull", "Wither Skeleton Wall Skull"))); - itemNames.add(new ItemName(Material.WITHER_SKELETON_SKULL, langConfig.getString("block.minecraft.wither_skeleton_skull", "Wither Skeleton Skull"))); - itemNames.add(new ItemName(Material.ZOMBIE_WALL_HEAD, langConfig.getString("block.minecraft.zombie_wall_head", "Zombie Wall Head"))); - itemNames.add(new ItemName(Material.ZOMBIE_HEAD, langConfig.getString("block.minecraft.zombie_head", "Zombie Head"))); - itemNames.add(new ItemName(Material.PLAYER_WALL_HEAD, langConfig.getString("block.minecraft.player_wall_head", "Player Wall Head"))); - itemNames.add(new ItemName(Material.PLAYER_HEAD, langConfig.getString("block.minecraft.player_head", "Player Head"))); - itemNames.add(new ItemName(Material.CREEPER_WALL_HEAD, langConfig.getString("block.minecraft.creeper_wall_head", "Creeper Wall Head"))); - itemNames.add(new ItemName(Material.CREEPER_HEAD, langConfig.getString("block.minecraft.creeper_head", "Creeper Head"))); - itemNames.add(new ItemName(Material.DRAGON_WALL_HEAD, langConfig.getString("block.minecraft.dragon_wall_head", "Dragon Wall Head"))); - itemNames.add(new ItemName(Material.DRAGON_HEAD, langConfig.getString("block.minecraft.dragon_head", "Dragon Head"))); - itemNames.add(new ItemName(Material.END_GATEWAY, langConfig.getString("block.minecraft.end_gateway", "End Gateway"))); - itemNames.add(new ItemName(Material.STRUCTURE_VOID, langConfig.getString("block.minecraft.structure_void", "Structure Void"))); - itemNames.add(new ItemName(Material.STRUCTURE_BLOCK, langConfig.getString("block.minecraft.structure_block", "Structure Block"))); - itemNames.add(new ItemName(Material.VOID_AIR, langConfig.getString("block.minecraft.void_air", "Void Air"))); - itemNames.add(new ItemName(Material.CAVE_AIR, langConfig.getString("block.minecraft.cave_air", "Cave Air"))); - itemNames.add(new ItemName(Material.BUBBLE_COLUMN, langConfig.getString("block.minecraft.bubble_column", "Bubble Column"))); - itemNames.add(new ItemName(Material.DEAD_TUBE_CORAL_BLOCK, langConfig.getString("block.minecraft.dead_tube_coral_block", "Dead Tube Coral Block"))); - itemNames.add(new ItemName(Material.DEAD_BRAIN_CORAL_BLOCK, langConfig.getString("block.minecraft.dead_brain_coral_block", "Dead Brain Coral Block"))); - itemNames.add(new ItemName(Material.DEAD_BUBBLE_CORAL_BLOCK, langConfig.getString("block.minecraft.dead_bubble_coral_block", "Dead Bubble Coral Block"))); - itemNames.add(new ItemName(Material.DEAD_FIRE_CORAL_BLOCK, langConfig.getString("block.minecraft.dead_fire_coral_block", "Dead Fire Coral Block"))); - itemNames.add(new ItemName(Material.DEAD_HORN_CORAL_BLOCK, langConfig.getString("block.minecraft.dead_horn_coral_block", "Dead Horn Coral Block"))); - itemNames.add(new ItemName(Material.TUBE_CORAL_BLOCK, langConfig.getString("block.minecraft.tube_coral_block", "Tube Coral Block"))); - itemNames.add(new ItemName(Material.BRAIN_CORAL_BLOCK, langConfig.getString("block.minecraft.brain_coral_block", "Brain Coral Block"))); - itemNames.add(new ItemName(Material.BUBBLE_CORAL_BLOCK, langConfig.getString("block.minecraft.bubble_coral_block", "Bubble Coral Block"))); - itemNames.add(new ItemName(Material.FIRE_CORAL_BLOCK, langConfig.getString("block.minecraft.fire_coral_block", "Fire Coral Block"))); - itemNames.add(new ItemName(Material.HORN_CORAL_BLOCK, langConfig.getString("block.minecraft.horn_coral_block", "Horn Coral Block"))); - itemNames.add(new ItemName(Material.TUBE_CORAL, langConfig.getString("block.minecraft.tube_coral", "Tube Coral"))); - itemNames.add(new ItemName(Material.BRAIN_CORAL, langConfig.getString("block.minecraft.brain_coral", "Brain Coral"))); - itemNames.add(new ItemName(Material.BUBBLE_CORAL, langConfig.getString("block.minecraft.bubble_coral", "Bubble Coral"))); - itemNames.add(new ItemName(Material.FIRE_CORAL, langConfig.getString("block.minecraft.fire_coral", "Fire Coral"))); - itemNames.add(new ItemName(Material.HORN_CORAL, langConfig.getString("block.minecraft.horn_coral", "Horn Coral"))); - itemNames.add(new ItemName(Material.TUBE_CORAL_FAN, langConfig.getString("block.minecraft.tube_coral_fan", "Tube Coral Fan"))); - itemNames.add(new ItemName(Material.BRAIN_CORAL_FAN, langConfig.getString("block.minecraft.brain_coral_fan", "Brain Coral Fan"))); - itemNames.add(new ItemName(Material.BUBBLE_CORAL_FAN, langConfig.getString("block.minecraft.bubble_coral_fan", "Bubble Coral Fan"))); - itemNames.add(new ItemName(Material.FIRE_CORAL_FAN, langConfig.getString("block.minecraft.fire_coral_fan", "Fire Coral Fan"))); - itemNames.add(new ItemName(Material.HORN_CORAL_FAN, langConfig.getString("block.minecraft.horn_coral_fan", "Horn Coral Fan"))); - itemNames.add(new ItemName(Material.CONDUIT, langConfig.getString("block.minecraft.conduit", "Conduit"))); - itemNames.add(new ItemName(Material.NAME_TAG, langConfig.getString("item.minecraft.name_tag", "Name Tag"))); - itemNames.add(new ItemName(Material.LEAD, langConfig.getString("item.minecraft.lead", "Lead"))); - itemNames.add(new ItemName(Material.IRON_SHOVEL, langConfig.getString("item.minecraft.iron_shovel", "Iron Shovel"))); - itemNames.add(new ItemName(Material.IRON_PICKAXE, langConfig.getString("item.minecraft.iron_pickaxe", "Iron Pickaxe"))); - itemNames.add(new ItemName(Material.IRON_AXE, langConfig.getString("item.minecraft.iron_axe", "Iron Axe"))); - itemNames.add(new ItemName(Material.FLINT_AND_STEEL, langConfig.getString("item.minecraft.flint_and_steel", "Flint and Steel"))); - itemNames.add(new ItemName(Material.APPLE, langConfig.getString("item.minecraft.apple", "Apple"))); - itemNames.add(new ItemName(Material.COOKIE, langConfig.getString("item.minecraft.cookie", "Cookie"))); - itemNames.add(new ItemName(Material.BOW, langConfig.getString("item.minecraft.bow", "Bow"))); - itemNames.add(new ItemName(Material.ARROW, langConfig.getString("item.minecraft.arrow", "Arrow"))); - itemNames.add(new ItemName(Material.SPECTRAL_ARROW, langConfig.getString("item.minecraft.spectral_arrow", "Spectral Arrow"))); - itemNames.add(new ItemName(Material.TIPPED_ARROW, langConfig.getString("item.minecraft.tipped_arrow", "Tipped Arrow"))); - itemNames.add(new ItemName(Material.DRIED_KELP, langConfig.getString("item.minecraft.dried_kelp", "Dried Kelp"))); - itemNames.add(new ItemName(Material.COAL, langConfig.getString("item.minecraft.coal", "Coal"))); - itemNames.add(new ItemName(Material.CHARCOAL, langConfig.getString("item.minecraft.charcoal", "Charcoal"))); - itemNames.add(new ItemName(Material.DIAMOND, langConfig.getString("item.minecraft.diamond", "Diamond"))); - itemNames.add(new ItemName(Material.EMERALD, langConfig.getString("item.minecraft.emerald", "Emerald"))); - itemNames.add(new ItemName(Material.IRON_INGOT, langConfig.getString("item.minecraft.iron_ingot", "Iron Ingot"))); - itemNames.add(new ItemName(Material.GOLD_INGOT, langConfig.getString("item.minecraft.gold_ingot", "Gold Ingot"))); - itemNames.add(new ItemName(Material.IRON_SWORD, langConfig.getString("item.minecraft.iron_sword", "Iron Sword"))); - itemNames.add(new ItemName(Material.WOODEN_SWORD, langConfig.getString("item.minecraft.wooden_sword", "Wooden Sword"))); - itemNames.add(new ItemName(Material.WOODEN_SHOVEL, langConfig.getString("item.minecraft.wooden_shovel", "Wooden Shovel"))); - itemNames.add(new ItemName(Material.WOODEN_PICKAXE, langConfig.getString("item.minecraft.wooden_pickaxe", "Wooden Pickaxe"))); - itemNames.add(new ItemName(Material.WOODEN_AXE, langConfig.getString("item.minecraft.wooden_axe", "Wooden Axe"))); - itemNames.add(new ItemName(Material.STONE_SWORD, langConfig.getString("item.minecraft.stone_sword", "Stone Sword"))); - itemNames.add(new ItemName(Material.STONE_SHOVEL, langConfig.getString("item.minecraft.stone_shovel", "Stone Shovel"))); - itemNames.add(new ItemName(Material.STONE_PICKAXE, langConfig.getString("item.minecraft.stone_pickaxe", "Stone Pickaxe"))); - itemNames.add(new ItemName(Material.STONE_AXE, langConfig.getString("item.minecraft.stone_axe", "Stone Axe"))); - itemNames.add(new ItemName(Material.DIAMOND_SWORD, langConfig.getString("item.minecraft.diamond_sword", "Diamond Sword"))); - itemNames.add(new ItemName(Material.DIAMOND_SHOVEL, langConfig.getString("item.minecraft.diamond_shovel", "Diamond Shovel"))); - itemNames.add(new ItemName(Material.DIAMOND_PICKAXE, langConfig.getString("item.minecraft.diamond_pickaxe", "Diamond Pickaxe"))); - itemNames.add(new ItemName(Material.DIAMOND_AXE, langConfig.getString("item.minecraft.diamond_axe", "Diamond Axe"))); - itemNames.add(new ItemName(Material.STICK, langConfig.getString("item.minecraft.stick", "Stick"))); - itemNames.add(new ItemName(Material.BOWL, langConfig.getString("item.minecraft.bowl", "Bowl"))); - itemNames.add(new ItemName(Material.MUSHROOM_STEW, langConfig.getString("item.minecraft.mushroom_stew", "Mushroom Stew"))); - itemNames.add(new ItemName(Material.GOLDEN_SWORD, langConfig.getString("item.minecraft.golden_sword", "Golden Sword"))); - itemNames.add(new ItemName(Material.GOLDEN_SHOVEL, langConfig.getString("item.minecraft.golden_shovel", "Golden Shovel"))); - itemNames.add(new ItemName(Material.GOLDEN_PICKAXE, langConfig.getString("item.minecraft.golden_pickaxe", "Golden Pickaxe"))); - itemNames.add(new ItemName(Material.GOLDEN_AXE, langConfig.getString("item.minecraft.golden_axe", "Golden Axe"))); - itemNames.add(new ItemName(Material.STRING, langConfig.getString("item.minecraft.string", "String"))); - itemNames.add(new ItemName(Material.FEATHER, langConfig.getString("item.minecraft.feather", "Feather"))); - itemNames.add(new ItemName(Material.GUNPOWDER, langConfig.getString("item.minecraft.gunpowder", "Gunpowder"))); - itemNames.add(new ItemName(Material.WOODEN_HOE, langConfig.getString("item.minecraft.wooden_hoe", "Wooden Hoe"))); - itemNames.add(new ItemName(Material.STONE_HOE, langConfig.getString("item.minecraft.stone_hoe", "Stone Hoe"))); - itemNames.add(new ItemName(Material.IRON_HOE, langConfig.getString("item.minecraft.iron_hoe", "Iron Hoe"))); - itemNames.add(new ItemName(Material.DIAMOND_HOE, langConfig.getString("item.minecraft.diamond_hoe", "Diamond Hoe"))); - itemNames.add(new ItemName(Material.GOLDEN_HOE, langConfig.getString("item.minecraft.golden_hoe", "Golden Hoe"))); - itemNames.add(new ItemName(Material.WHEAT_SEEDS, langConfig.getString("item.minecraft.wheat_seeds", "Wheat Seeds"))); - itemNames.add(new ItemName(Material.PUMPKIN_SEEDS, langConfig.getString("item.minecraft.pumpkin_seeds", "Pumpkin Seeds"))); - itemNames.add(new ItemName(Material.MELON_SEEDS, langConfig.getString("item.minecraft.melon_seeds", "Melon Seeds"))); - itemNames.add(new ItemName(Material.MELON_SLICE, langConfig.getString("item.minecraft.melon_slice", "Melon Slice"))); - itemNames.add(new ItemName(Material.WHEAT, langConfig.getString("item.minecraft.wheat", "Wheat"))); - itemNames.add(new ItemName(Material.BREAD, langConfig.getString("item.minecraft.bread", "Bread"))); - itemNames.add(new ItemName(Material.LEATHER_HELMET, langConfig.getString("item.minecraft.leather_helmet", "Leather Cap"))); - itemNames.add(new ItemName(Material.LEATHER_CHESTPLATE, langConfig.getString("item.minecraft.leather_chestplate", "Leather Tunic"))); - itemNames.add(new ItemName(Material.LEATHER_LEGGINGS, langConfig.getString("item.minecraft.leather_leggings", "Leather Pants"))); - itemNames.add(new ItemName(Material.LEATHER_BOOTS, langConfig.getString("item.minecraft.leather_boots", "Leather Boots"))); - itemNames.add(new ItemName(Material.CHAINMAIL_HELMET, langConfig.getString("item.minecraft.chainmail_helmet", "Chainmail Helmet"))); - itemNames.add(new ItemName(Material.CHAINMAIL_CHESTPLATE, langConfig.getString("item.minecraft.chainmail_chestplate", "Chainmail Chestplate"))); - itemNames.add(new ItemName(Material.CHAINMAIL_LEGGINGS, langConfig.getString("item.minecraft.chainmail_leggings", "Chainmail Leggings"))); - itemNames.add(new ItemName(Material.CHAINMAIL_BOOTS, langConfig.getString("item.minecraft.chainmail_boots", "Chainmail Boots"))); - itemNames.add(new ItemName(Material.IRON_HELMET, langConfig.getString("item.minecraft.iron_helmet", "Iron Helmet"))); - itemNames.add(new ItemName(Material.IRON_CHESTPLATE, langConfig.getString("item.minecraft.iron_chestplate", "Iron Chestplate"))); - itemNames.add(new ItemName(Material.IRON_LEGGINGS, langConfig.getString("item.minecraft.iron_leggings", "Iron Leggings"))); - itemNames.add(new ItemName(Material.IRON_BOOTS, langConfig.getString("item.minecraft.iron_boots", "Iron Boots"))); - itemNames.add(new ItemName(Material.DIAMOND_HELMET, langConfig.getString("item.minecraft.diamond_helmet", "Diamond Helmet"))); - itemNames.add(new ItemName(Material.DIAMOND_CHESTPLATE, langConfig.getString("item.minecraft.diamond_chestplate", "Diamond Chestplate"))); - itemNames.add(new ItemName(Material.DIAMOND_LEGGINGS, langConfig.getString("item.minecraft.diamond_leggings", "Diamond Leggings"))); - itemNames.add(new ItemName(Material.DIAMOND_BOOTS, langConfig.getString("item.minecraft.diamond_boots", "Diamond Boots"))); - itemNames.add(new ItemName(Material.GOLDEN_HELMET, langConfig.getString("item.minecraft.golden_helmet", "Golden Helmet"))); - itemNames.add(new ItemName(Material.GOLDEN_CHESTPLATE, langConfig.getString("item.minecraft.golden_chestplate", "Golden Chestplate"))); - itemNames.add(new ItemName(Material.GOLDEN_LEGGINGS, langConfig.getString("item.minecraft.golden_leggings", "Golden Leggings"))); - itemNames.add(new ItemName(Material.GOLDEN_BOOTS, langConfig.getString("item.minecraft.golden_boots", "Golden Boots"))); - itemNames.add(new ItemName(Material.FLINT, langConfig.getString("item.minecraft.flint", "Flint"))); - itemNames.add(new ItemName(Material.PORKCHOP, langConfig.getString("item.minecraft.porkchop", "Raw Porkchop"))); - itemNames.add(new ItemName(Material.COOKED_PORKCHOP, langConfig.getString("item.minecraft.cooked_porkchop", "Cooked Porkchop"))); - itemNames.add(new ItemName(Material.CHICKEN, langConfig.getString("item.minecraft.chicken", "Raw Chicken"))); - itemNames.add(new ItemName(Material.COOKED_CHICKEN, langConfig.getString("item.minecraft.cooked_chicken", "Cooked Chicken"))); - itemNames.add(new ItemName(Material.MUTTON, langConfig.getString("item.minecraft.mutton", "Raw Mutton"))); - itemNames.add(new ItemName(Material.COOKED_MUTTON, langConfig.getString("item.minecraft.cooked_mutton", "Cooked Mutton"))); - itemNames.add(new ItemName(Material.RABBIT, langConfig.getString("item.minecraft.rabbit", "Raw Rabbit"))); - itemNames.add(new ItemName(Material.COOKED_RABBIT, langConfig.getString("item.minecraft.cooked_rabbit", "Cooked Rabbit"))); - itemNames.add(new ItemName(Material.RABBIT_STEW, langConfig.getString("item.minecraft.rabbit_stew", "Rabbit Stew"))); - itemNames.add(new ItemName(Material.RABBIT_FOOT, langConfig.getString("item.minecraft.rabbit_foot", "Rabbit's Foot"))); - itemNames.add(new ItemName(Material.RABBIT_HIDE, langConfig.getString("item.minecraft.rabbit_hide", "Rabbit Hide"))); - itemNames.add(new ItemName(Material.BEEF, langConfig.getString("item.minecraft.beef", "Raw Beef"))); - itemNames.add(new ItemName(Material.COOKED_BEEF, langConfig.getString("item.minecraft.cooked_beef", "Steak"))); - itemNames.add(new ItemName(Material.PAINTING, langConfig.getString("item.minecraft.painting", "Painting"))); - itemNames.add(new ItemName(Material.ITEM_FRAME, langConfig.getString("item.minecraft.item_frame", "Item Frame"))); - itemNames.add(new ItemName(Material.GOLDEN_APPLE, langConfig.getString("item.minecraft.golden_apple", "Golden Apple"))); - itemNames.add(new ItemName(Material.ENCHANTED_GOLDEN_APPLE, langConfig.getString("item.minecraft.enchanted_golden_apple", "Enchanted Golden Apple"))); - itemNames.add(new ItemName(Material.BUCKET, langConfig.getString("item.minecraft.bucket", "Bucket"))); - itemNames.add(new ItemName(Material.WATER_BUCKET, langConfig.getString("item.minecraft.water_bucket", "Water Bucket"))); - itemNames.add(new ItemName(Material.LAVA_BUCKET, langConfig.getString("item.minecraft.lava_bucket", "Lava Bucket"))); - itemNames.add(new ItemName(Material.PUFFERFISH_BUCKET, langConfig.getString("item.minecraft.pufferfish_bucket", "Bucket of Pufferfish"))); - itemNames.add(new ItemName(Material.SALMON_BUCKET, langConfig.getString("item.minecraft.salmon_bucket", "Bucket of Salmon"))); - itemNames.add(new ItemName(Material.COD_BUCKET, langConfig.getString("item.minecraft.cod_bucket", "Bucket of Cod"))); - itemNames.add(new ItemName(Material.TROPICAL_FISH_BUCKET, langConfig.getString("item.minecraft.tropical_fish_bucket", "Bucket of Tropical Fish"))); - itemNames.add(new ItemName(Material.MINECART, langConfig.getString("item.minecraft.minecart", "Minecart"))); - itemNames.add(new ItemName(Material.SADDLE, langConfig.getString("item.minecraft.saddle", "Saddle"))); - itemNames.add(new ItemName(Material.REDSTONE, langConfig.getString("item.minecraft.redstone", "Redstone"))); - itemNames.add(new ItemName(Material.SNOWBALL, langConfig.getString("item.minecraft.snowball", "Snowball"))); - itemNames.add(new ItemName(Material.OAK_BOAT, langConfig.getString("item.minecraft.oak_boat", "Oak Boat"))); - itemNames.add(new ItemName(Material.SPRUCE_BOAT, langConfig.getString("item.minecraft.spruce_boat", "Spruce Boat"))); - itemNames.add(new ItemName(Material.BIRCH_BOAT, langConfig.getString("item.minecraft.birch_boat", "Birch Boat"))); - itemNames.add(new ItemName(Material.JUNGLE_BOAT, langConfig.getString("item.minecraft.jungle_boat", "Jungle Boat"))); - itemNames.add(new ItemName(Material.ACACIA_BOAT, langConfig.getString("item.minecraft.acacia_boat", "Acacia Boat"))); - itemNames.add(new ItemName(Material.DARK_OAK_BOAT, langConfig.getString("item.minecraft.dark_oak_boat", "Dark Oak Boat"))); - itemNames.add(new ItemName(Material.LEATHER, langConfig.getString("item.minecraft.leather", "Leather"))); - itemNames.add(new ItemName(Material.MILK_BUCKET, langConfig.getString("item.minecraft.milk_bucket", "Milk Bucket"))); - itemNames.add(new ItemName(Material.BRICK, langConfig.getString("item.minecraft.brick", "Brick"))); - itemNames.add(new ItemName(Material.CLAY, langConfig.getString("item.minecraft.clay_ball", "Clay"))); - itemNames.add(new ItemName(Material.PAPER, langConfig.getString("item.minecraft.paper", "Paper"))); - itemNames.add(new ItemName(Material.BOOK, langConfig.getString("item.minecraft.book", "Book"))); - itemNames.add(new ItemName(Material.SLIME_BALL, langConfig.getString("item.minecraft.slime_ball", "Slimeball"))); - itemNames.add(new ItemName(Material.CHEST_MINECART, langConfig.getString("item.minecraft.chest_minecart", "Minecart with Chest"))); - itemNames.add(new ItemName(Material.FURNACE_MINECART, langConfig.getString("item.minecraft.furnace_minecart", "Minecart with Furnace"))); - itemNames.add(new ItemName(Material.TNT_MINECART, langConfig.getString("item.minecraft.tnt_minecart", "Minecart with TNT"))); - itemNames.add(new ItemName(Material.HOPPER_MINECART, langConfig.getString("item.minecraft.hopper_minecart", "Minecart with Hopper"))); - itemNames.add(new ItemName(Material.COMMAND_BLOCK_MINECART, langConfig.getString("item.minecraft.command_block_minecart", "Minecart with Command Block"))); - itemNames.add(new ItemName(Material.EGG, langConfig.getString("item.minecraft.egg", "Egg"))); - itemNames.add(new ItemName(Material.COMPASS, langConfig.getString("item.minecraft.compass", "Compass"))); - itemNames.add(new ItemName(Material.FISHING_ROD, langConfig.getString("item.minecraft.fishing_rod", "Fishing Rod"))); - itemNames.add(new ItemName(Material.CLOCK, langConfig.getString("item.minecraft.clock", "Clock"))); - itemNames.add(new ItemName(Material.GLOWSTONE_DUST, langConfig.getString("item.minecraft.glowstone_dust", "Glowstone Dust"))); - itemNames.add(new ItemName(Material.COD, langConfig.getString("item.minecraft.cod", "Raw Cod"))); - itemNames.add(new ItemName(Material.SALMON, langConfig.getString("item.minecraft.salmon", "Raw Salmon"))); - itemNames.add(new ItemName(Material.PUFFERFISH, langConfig.getString("item.minecraft.pufferfish", "Pufferfish"))); - itemNames.add(new ItemName(Material.TROPICAL_FISH, langConfig.getString("item.minecraft.tropical_fish", "Tropical Fish"))); - itemNames.add(new ItemName(Material.COOKED_COD, langConfig.getString("item.minecraft.cooked_cod", "Cooked Cod"))); - itemNames.add(new ItemName(Material.COOKED_SALMON, langConfig.getString("item.minecraft.cooked_salmon", "Cooked Salmon"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_13, langConfig.getString("item.minecraft.music_disc_13", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_CAT, langConfig.getString("item.minecraft.music_disc_cat", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_BLOCKS, langConfig.getString("item.minecraft.music_disc_blocks", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_CHIRP, langConfig.getString("item.minecraft.music_disc_chirp", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_FAR, langConfig.getString("item.minecraft.music_disc_far", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_MALL, langConfig.getString("item.minecraft.music_disc_mall", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_MELLOHI, langConfig.getString("item.minecraft.music_disc_mellohi", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_STAL, langConfig.getString("item.minecraft.music_disc_stal", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_STRAD, langConfig.getString("item.minecraft.music_disc_strad", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_WARD, langConfig.getString("item.minecraft.music_disc_ward", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_11, langConfig.getString("item.minecraft.music_disc_11", "Music Disc"))); - itemNames.add(new ItemName(Material.MUSIC_DISC_WAIT, langConfig.getString("item.minecraft.music_disc_wait", "Music Disc"))); - itemNames.add(new ItemName(Material.BONE, langConfig.getString("item.minecraft.bone", "Bone"))); - itemNames.add(new ItemName(Material.INK_SAC, langConfig.getString("item.minecraft.ink_sac", "Ink Sac"))); - itemNames.add(new ItemName(Material.COCOA_BEANS, langConfig.getString("item.minecraft.cocoa_beans", "Cocoa Beans"))); - itemNames.add(new ItemName(Material.LAPIS_LAZULI, langConfig.getString("item.minecraft.lapis_lazuli", "Lapis Lazuli"))); - itemNames.add(new ItemName(Material.PURPLE_DYE, langConfig.getString("item.minecraft.purple_dye", "Purple Dye"))); - itemNames.add(new ItemName(Material.CYAN_DYE, langConfig.getString("item.minecraft.cyan_dye", "Cyan Dye"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_DYE, langConfig.getString("item.minecraft.light_gray_dye", "Light Gray Dye"))); - itemNames.add(new ItemName(Material.GRAY_DYE, langConfig.getString("item.minecraft.gray_dye", "Gray Dye"))); - itemNames.add(new ItemName(Material.PINK_DYE, langConfig.getString("item.minecraft.pink_dye", "Pink Dye"))); - itemNames.add(new ItemName(Material.LIME_DYE, langConfig.getString("item.minecraft.lime_dye", "Lime Dye"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_DYE, langConfig.getString("item.minecraft.light_blue_dye", "Light Blue Dye"))); - itemNames.add(new ItemName(Material.MAGENTA_DYE, langConfig.getString("item.minecraft.magenta_dye", "Magenta Dye"))); - itemNames.add(new ItemName(Material.ORANGE_DYE, langConfig.getString("item.minecraft.orange_dye", "Orange Dye"))); - itemNames.add(new ItemName(Material.BONE_MEAL, langConfig.getString("item.minecraft.bone_meal", "Bone Meal"))); - itemNames.add(new ItemName(Material.SUGAR, langConfig.getString("item.minecraft.sugar", "Sugar"))); - itemNames.add(new ItemName(Material.BLACK_BED, langConfig.getString("block.minecraft.black_bed", "Black Bed"))); - itemNames.add(new ItemName(Material.RED_BED, langConfig.getString("block.minecraft.red_bed", "Red Bed"))); - itemNames.add(new ItemName(Material.GREEN_BED, langConfig.getString("block.minecraft.green_bed", "Green Bed"))); - itemNames.add(new ItemName(Material.BROWN_BED, langConfig.getString("block.minecraft.brown_bed", "Brown Bed"))); - itemNames.add(new ItemName(Material.BLUE_BED, langConfig.getString("block.minecraft.blue_bed", "Blue Bed"))); - itemNames.add(new ItemName(Material.PURPLE_BED, langConfig.getString("block.minecraft.purple_bed", "Purple Bed"))); - itemNames.add(new ItemName(Material.CYAN_BED, langConfig.getString("block.minecraft.cyan_bed", "Cyan Bed"))); - itemNames.add(new ItemName(Material.LIGHT_GRAY_BED, langConfig.getString("block.minecraft.light_gray_bed", "Light Gray Bed"))); - itemNames.add(new ItemName(Material.GRAY_BED, langConfig.getString("block.minecraft.gray_bed", "Gray Bed"))); - itemNames.add(new ItemName(Material.PINK_BED, langConfig.getString("block.minecraft.pink_bed", "Pink Bed"))); - itemNames.add(new ItemName(Material.LIME_BED, langConfig.getString("block.minecraft.lime_bed", "Lime Bed"))); - itemNames.add(new ItemName(Material.YELLOW_BED, langConfig.getString("block.minecraft.yellow_bed", "Yellow Bed"))); - itemNames.add(new ItemName(Material.LIGHT_BLUE_BED, langConfig.getString("block.minecraft.light_blue_bed", "Light Blue Bed"))); - itemNames.add(new ItemName(Material.MAGENTA_BED, langConfig.getString("block.minecraft.magenta_bed", "Magenta Bed"))); - itemNames.add(new ItemName(Material.ORANGE_BED, langConfig.getString("block.minecraft.orange_bed", "Orange Bed"))); - itemNames.add(new ItemName(Material.WHITE_BED, langConfig.getString("block.minecraft.white_bed", "White Bed"))); - itemNames.add(new ItemName(Material.REPEATER, langConfig.getString("block.minecraft.repeater", "Redstone Repeater"))); - itemNames.add(new ItemName(Material.COMPARATOR, langConfig.getString("block.minecraft.comparator", "Redstone Comparator"))); - itemNames.add(new ItemName(Material.MAP, langConfig.getString("item.minecraft.filled_map", "Map"))); - itemNames.add(new ItemName(Material.SHEARS, langConfig.getString("item.minecraft.shears", "Shears"))); - itemNames.add(new ItemName(Material.ROTTEN_FLESH, langConfig.getString("item.minecraft.rotten_flesh", "Rotten Flesh"))); - itemNames.add(new ItemName(Material.ENDER_PEARL, langConfig.getString("item.minecraft.ender_pearl", "Ender Pearl"))); - itemNames.add(new ItemName(Material.BLAZE_ROD, langConfig.getString("item.minecraft.blaze_rod", "Blaze Rod"))); - itemNames.add(new ItemName(Material.GHAST_TEAR, langConfig.getString("item.minecraft.ghast_tear", "Ghast Tear"))); - itemNames.add(new ItemName(Material.NETHER_WART, langConfig.getString("item.minecraft.nether_wart", "Nether Wart"))); - itemNames.add(new ItemName(Material.POTION, langConfig.getString("item.minecraft.potion", "Potion"))); - itemNames.add(new ItemName(Material.SPLASH_POTION, langConfig.getString("item.minecraft.splash_potion", "Splash Potion"))); - itemNames.add(new ItemName(Material.LINGERING_POTION, langConfig.getString("item.minecraft.lingering_potion", "Lingering Potion"))); - itemNames.add(new ItemName(Material.END_CRYSTAL, langConfig.getString("item.minecraft.end_crystal", "End Crystal"))); - itemNames.add(new ItemName(Material.GOLD_NUGGET, langConfig.getString("item.minecraft.gold_nugget", "Gold Nugget"))); - itemNames.add(new ItemName(Material.GLASS_BOTTLE, langConfig.getString("item.minecraft.glass_bottle", "Glass Bottle"))); - itemNames.add(new ItemName(Material.SPIDER_EYE, langConfig.getString("item.minecraft.spider_eye", "Spider Eye"))); - itemNames.add(new ItemName(Material.FERMENTED_SPIDER_EYE, langConfig.getString("item.minecraft.fermented_spider_eye", "Fermented Spider Eye"))); - itemNames.add(new ItemName(Material.BLAZE_POWDER, langConfig.getString("item.minecraft.blaze_powder", "Blaze Powder"))); - itemNames.add(new ItemName(Material.MAGMA_CREAM, langConfig.getString("item.minecraft.magma_cream", "Magma Cream"))); - itemNames.add(new ItemName(Material.CAULDRON, langConfig.getString("item.minecraft.cauldron", "Cauldron"))); - itemNames.add(new ItemName(Material.BREWING_STAND, langConfig.getString("item.minecraft.brewing_stand", "Brewing Stand"))); - itemNames.add(new ItemName(Material.ENDER_EYE, langConfig.getString("item.minecraft.ender_eye", "Eye of Ender"))); - itemNames.add(new ItemName(Material.GLISTERING_MELON_SLICE, langConfig.getString("item.minecraft.glistering_melon_slice", "Glistering Melon Slice"))); - itemNames.add(new ItemName(Material.BAT_SPAWN_EGG, langConfig.getString("item.minecraft.bat_spawn_egg", "Bat Spawn Egg"))); - itemNames.add(new ItemName(Material.BLAZE_SPAWN_EGG, langConfig.getString("item.minecraft.blaze_spawn_egg", "Blaze Spawn Egg"))); - itemNames.add(new ItemName(Material.CAVE_SPIDER_SPAWN_EGG, langConfig.getString("item.minecraft.cave_spider_spawn_egg", "Cave Spider Spawn Egg"))); - itemNames.add(new ItemName(Material.CHICKEN_SPAWN_EGG, langConfig.getString("item.minecraft.chicken_spawn_egg", "Chicken Spawn Egg"))); - itemNames.add(new ItemName(Material.COD_SPAWN_EGG, langConfig.getString("item.minecraft.cod_spawn_egg", "Cod Spawn Egg"))); - itemNames.add(new ItemName(Material.COW_SPAWN_EGG, langConfig.getString("item.minecraft.cow_spawn_egg", "Cow Spawn Egg"))); - itemNames.add(new ItemName(Material.CREEPER_SPAWN_EGG, langConfig.getString("item.minecraft.creeper_spawn_egg", "Creeper Spawn Egg"))); - itemNames.add(new ItemName(Material.DOLPHIN_SPAWN_EGG, langConfig.getString("item.minecraft.dolphin_spawn_egg", "Dolphin Spawn Egg"))); - itemNames.add(new ItemName(Material.DONKEY_SPAWN_EGG, langConfig.getString("item.minecraft.donkey_spawn_egg", "Donkey Spawn Egg"))); - itemNames.add(new ItemName(Material.DROWNED_SPAWN_EGG, langConfig.getString("item.minecraft.drowned_spawn_egg", "Drowned Spawn Egg"))); - itemNames.add(new ItemName(Material.ELDER_GUARDIAN_SPAWN_EGG, langConfig.getString("item.minecraft.elder_guardian_spawn_egg", "Elder Guardian Spawn Egg"))); - itemNames.add(new ItemName(Material.ENDERMAN_SPAWN_EGG, langConfig.getString("item.minecraft.enderman_spawn_egg", "Enderman Spawn Egg"))); - itemNames.add(new ItemName(Material.ENDERMITE_SPAWN_EGG, langConfig.getString("item.minecraft.endermite_spawn_egg", "Endermite Spawn Egg"))); - itemNames.add(new ItemName(Material.EVOKER_SPAWN_EGG, langConfig.getString("item.minecraft.evoker_spawn_egg", "Evoker Spawn Egg"))); - itemNames.add(new ItemName(Material.GHAST_SPAWN_EGG, langConfig.getString("item.minecraft.ghast_spawn_egg", "Ghast Spawn Egg"))); - itemNames.add(new ItemName(Material.GUARDIAN_SPAWN_EGG, langConfig.getString("item.minecraft.guardian_spawn_egg", "Guardian Spawn Egg"))); - itemNames.add(new ItemName(Material.HORSE_SPAWN_EGG, langConfig.getString("item.minecraft.horse_spawn_egg", "Horse Spawn Egg"))); - itemNames.add(new ItemName(Material.HUSK_SPAWN_EGG, langConfig.getString("item.minecraft.husk_spawn_egg", "Husk Spawn Egg"))); - itemNames.add(new ItemName(Material.LLAMA_SPAWN_EGG, langConfig.getString("item.minecraft.llama_spawn_egg", "Llama Spawn Egg"))); - itemNames.add(new ItemName(Material.MAGMA_CUBE_SPAWN_EGG, langConfig.getString("item.minecraft.magma_cube_spawn_egg", "Magma Cube Spawn Egg"))); - itemNames.add(new ItemName(Material.MOOSHROOM_SPAWN_EGG, langConfig.getString("item.minecraft.mooshroom_spawn_egg", "Mooshroom Spawn Egg"))); - itemNames.add(new ItemName(Material.MULE_SPAWN_EGG, langConfig.getString("item.minecraft.mule_spawn_egg", "Mule Spawn Egg"))); - itemNames.add(new ItemName(Material.OCELOT_SPAWN_EGG, langConfig.getString("item.minecraft.ocelot_spawn_egg", "Ocelot Spawn Egg"))); - itemNames.add(new ItemName(Material.PARROT_SPAWN_EGG, langConfig.getString("item.minecraft.parrot_spawn_egg", "Parrot Spawn Egg"))); - itemNames.add(new ItemName(Material.PIG_SPAWN_EGG, langConfig.getString("item.minecraft.pig_spawn_egg", "Pig Spawn Egg"))); - itemNames.add(new ItemName(Material.PHANTOM_SPAWN_EGG, langConfig.getString("item.minecraft.phantom_spawn_egg", "Phantom Spawn Egg"))); - itemNames.add(new ItemName(Material.POLAR_BEAR_SPAWN_EGG, langConfig.getString("item.minecraft.polar_bear_spawn_egg", "Polar Bear Spawn Egg"))); - itemNames.add(new ItemName(Material.PUFFERFISH_SPAWN_EGG, langConfig.getString("item.minecraft.pufferfish_spawn_egg", "Pufferfish Spawn Egg"))); - itemNames.add(new ItemName(Material.RABBIT_SPAWN_EGG, langConfig.getString("item.minecraft.rabbit_spawn_egg", "Rabbit Spawn Egg"))); - itemNames.add(new ItemName(Material.SALMON_SPAWN_EGG, langConfig.getString("item.minecraft.salmon_spawn_egg", "Salmon Spawn Egg"))); - itemNames.add(new ItemName(Material.SHEEP_SPAWN_EGG, langConfig.getString("item.minecraft.sheep_spawn_egg", "Sheep Spawn Egg"))); - itemNames.add(new ItemName(Material.SHULKER_SPAWN_EGG, langConfig.getString("item.minecraft.shulker_spawn_egg", "Shulker Spawn Egg"))); - itemNames.add(new ItemName(Material.SILVERFISH_SPAWN_EGG, langConfig.getString("item.minecraft.silverfish_spawn_egg", "Silverfish Spawn Egg"))); - itemNames.add(new ItemName(Material.SKELETON_SPAWN_EGG, langConfig.getString("item.minecraft.skeleton_spawn_egg", "Skeleton Spawn Egg"))); - itemNames.add(new ItemName(Material.SKELETON_HORSE_SPAWN_EGG, langConfig.getString("item.minecraft.skeleton_horse_spawn_egg", "Skeleton Horse Spawn Egg"))); - itemNames.add(new ItemName(Material.SLIME_SPAWN_EGG, langConfig.getString("item.minecraft.slime_spawn_egg", "Slime Spawn Egg"))); - itemNames.add(new ItemName(Material.SPIDER_SPAWN_EGG, langConfig.getString("item.minecraft.spider_spawn_egg", "Spider Spawn Egg"))); - itemNames.add(new ItemName(Material.SQUID_SPAWN_EGG, langConfig.getString("item.minecraft.squid_spawn_egg", "Squid Spawn Egg"))); - itemNames.add(new ItemName(Material.STRAY_SPAWN_EGG, langConfig.getString("item.minecraft.stray_spawn_egg", "Stray Spawn Egg"))); - itemNames.add(new ItemName(Material.TROPICAL_FISH_SPAWN_EGG, langConfig.getString("item.minecraft.tropical_fish_spawn_egg", "Tropical Fish Spawn Egg"))); - itemNames.add(new ItemName(Material.TURTLE_SPAWN_EGG, langConfig.getString("item.minecraft.turtle_spawn_egg", "Turtle Spawn Egg"))); - itemNames.add(new ItemName(Material.VEX_SPAWN_EGG, langConfig.getString("item.minecraft.vex_spawn_egg", "Vex Spawn Egg"))); - itemNames.add(new ItemName(Material.VILLAGER_SPAWN_EGG, langConfig.getString("item.minecraft.villager_spawn_egg", "Villager Spawn Egg"))); - itemNames.add(new ItemName(Material.VINDICATOR_SPAWN_EGG, langConfig.getString("item.minecraft.vindicator_spawn_egg", "Vindicator Spawn Egg"))); - itemNames.add(new ItemName(Material.WITCH_SPAWN_EGG, langConfig.getString("item.minecraft.witch_spawn_egg", "Witch Spawn Egg"))); - itemNames.add(new ItemName(Material.WITHER_SKELETON_SPAWN_EGG, langConfig.getString("item.minecraft.wither_skeleton_spawn_egg", "Wither Skeleton Spawn Egg"))); - itemNames.add(new ItemName(Material.WOLF_SPAWN_EGG, langConfig.getString("item.minecraft.wolf_spawn_egg", "Wolf Spawn Egg"))); - itemNames.add(new ItemName(Material.ZOMBIE_SPAWN_EGG, langConfig.getString("item.minecraft.zombie_spawn_egg", "Zombie Spawn Egg"))); - itemNames.add(new ItemName(Material.ZOMBIE_HORSE_SPAWN_EGG, langConfig.getString("item.minecraft.zombie_horse_spawn_egg", "Zombie Horse Spawn Egg"))); - itemNames.add(new ItemName(Material.ZOMBIE_PIGMAN_SPAWN_EGG, langConfig.getString("item.minecraft.zombie_pigman_spawn_egg", "Zombie Pigman Spawn Egg"))); - itemNames.add(new ItemName(Material.ZOMBIE_VILLAGER_SPAWN_EGG, langConfig.getString("item.minecraft.zombie_villager_spawn_egg", "Zombie Villager Spawn Egg"))); - itemNames.add(new ItemName(Material.EXPERIENCE_BOTTLE, langConfig.getString("item.minecraft.experience_bottle", "Bottle o' Enchanting"))); - itemNames.add(new ItemName(Material.FIRE_CHARGE, langConfig.getString("item.minecraft.fire_charge", "Fire Charge"))); - itemNames.add(new ItemName(Material.WRITABLE_BOOK, langConfig.getString("item.minecraft.writable_book", "Book and Quill"))); - itemNames.add(new ItemName(Material.WRITTEN_BOOK, langConfig.getString("item.minecraft.written_book", "Written Book"))); - itemNames.add(new ItemName(Material.FLOWER_POT, langConfig.getString("item.minecraft.flower_pot", "Flower Pot"))); - itemNames.add(new ItemName(Material.MAP, langConfig.getString("item.minecraft.map", "Empty Map"))); - itemNames.add(new ItemName(Material.CARROT, langConfig.getString("item.minecraft.carrot", "Carrot"))); - itemNames.add(new ItemName(Material.GOLDEN_CARROT, langConfig.getString("item.minecraft.golden_carrot", "Golden Carrot"))); - itemNames.add(new ItemName(Material.POTATO, langConfig.getString("item.minecraft.potato", "Potato"))); - itemNames.add(new ItemName(Material.BAKED_POTATO, langConfig.getString("item.minecraft.baked_potato", "Baked Potato"))); - itemNames.add(new ItemName(Material.POISONOUS_POTATO, langConfig.getString("item.minecraft.poisonous_potato", "Poisonous Potato"))); - itemNames.add(new ItemName(Material.SKELETON_SKULL, langConfig.getString("item.minecraft.skeleton_skull", "Skeleton Skull"))); - itemNames.add(new ItemName(Material.WITHER_SKELETON_SKULL, langConfig.getString("item.minecraft.wither_skeleton_skull", "Wither Skeleton Skull"))); - itemNames.add(new ItemName(Material.ZOMBIE_HEAD, langConfig.getString("item.minecraft.zombie_head", "Zombie Head"))); - itemNames.add(new ItemName(Material.CREEPER_HEAD, langConfig.getString("item.minecraft.creeper_head", "Creeper Head"))); - itemNames.add(new ItemName(Material.DRAGON_HEAD, langConfig.getString("item.minecraft.dragon_head", "Dragon Head"))); - itemNames.add(new ItemName(Material.CARROT_ON_A_STICK, langConfig.getString("item.minecraft.carrot_on_a_stick", "Carrot on a Stick"))); - itemNames.add(new ItemName(Material.NETHER_STAR, langConfig.getString("item.minecraft.nether_star", "Nether Star"))); - itemNames.add(new ItemName(Material.PUMPKIN_PIE, langConfig.getString("item.minecraft.pumpkin_pie", "Pumpkin Pie"))); - itemNames.add(new ItemName(Material.ENCHANTED_BOOK, langConfig.getString("item.minecraft.enchanted_book", "Enchanted Book"))); - itemNames.add(new ItemName(Material.FIREWORK_ROCKET, langConfig.getString("item.minecraft.firework_rocket", "Firework Rocket"))); - itemNames.add(new ItemName(Material.FIREWORK_STAR, langConfig.getString("item.minecraft.firework_star", "Firework Star"))); - itemNames.add(new ItemName(Material.NETHER_BRICK, langConfig.getString("item.minecraft.nether_brick", "Nether Brick"))); - itemNames.add(new ItemName(Material.QUARTZ, langConfig.getString("item.minecraft.quartz", "Nether Quartz"))); - itemNames.add(new ItemName(Material.ARMOR_STAND, langConfig.getString("item.minecraft.armor_stand", "Armor Stand"))); - itemNames.add(new ItemName(Material.IRON_HORSE_ARMOR, langConfig.getString("item.minecraft.iron_horse_armor", "Iron Horse Armor"))); - itemNames.add(new ItemName(Material.GOLDEN_HORSE_ARMOR, langConfig.getString("item.minecraft.golden_horse_armor", "Golden Horse Armor"))); - itemNames.add(new ItemName(Material.DIAMOND_HORSE_ARMOR, langConfig.getString("item.minecraft.diamond_horse_armor", "Diamond Horse Armor"))); - itemNames.add(new ItemName(Material.PRISMARINE_SHARD, langConfig.getString("item.minecraft.prismarine_shard", "Prismarine Shard"))); - itemNames.add(new ItemName(Material.PRISMARINE_CRYSTALS, langConfig.getString("item.minecraft.prismarine_crystals", "Prismarine Crystals"))); - itemNames.add(new ItemName(Material.CHORUS_FRUIT, langConfig.getString("item.minecraft.chorus_fruit", "Chorus Fruit"))); - itemNames.add(new ItemName(Material.POPPED_CHORUS_FRUIT, langConfig.getString("item.minecraft.popped_chorus_fruit", "Popped Chorus Fruit"))); - itemNames.add(new ItemName(Material.BEETROOT, langConfig.getString("item.minecraft.beetroot", "Beetroot"))); - itemNames.add(new ItemName(Material.BEETROOT_SEEDS, langConfig.getString("item.minecraft.beetroot_seeds", "Beetroot Seeds"))); - itemNames.add(new ItemName(Material.BEETROOT_SOUP, langConfig.getString("item.minecraft.beetroot_soup", "Beetroot Soup"))); - itemNames.add(new ItemName(Material.DRAGON_BREATH, langConfig.getString("item.minecraft.dragon_breath", "Dragon's Breath"))); - itemNames.add(new ItemName(Material.ELYTRA, langConfig.getString("item.minecraft.elytra", "Elytra"))); - itemNames.add(new ItemName(Material.TOTEM_OF_UNDYING, langConfig.getString("item.minecraft.totem_of_undying", "Totem of Undying"))); - itemNames.add(new ItemName(Material.SHULKER_SHELL, langConfig.getString("item.minecraft.shulker_shell", "Shulker Shell"))); - itemNames.add(new ItemName(Material.IRON_NUGGET, langConfig.getString("item.minecraft.iron_nugget", "Iron Nugget"))); - itemNames.add(new ItemName(Material.KNOWLEDGE_BOOK, langConfig.getString("item.minecraft.knowledge_book", "Knowledge Book"))); - itemNames.add(new ItemName(Material.DEBUG_STICK, langConfig.getString("item.minecraft.debug_stick", "Debug Stick"))); - itemNames.add(new ItemName(Material.TRIDENT, langConfig.getString("item.minecraft.trident", "Trident"))); - itemNames.add(new ItemName(Material.SCUTE, langConfig.getString("item.minecraft.scute", "Scute"))); - itemNames.add(new ItemName(Material.TURTLE_HELMET, langConfig.getString("item.minecraft.turtle_helmet", "Turtle Shell"))); - itemNames.add(new ItemName(Material.PHANTOM_MEMBRANE, langConfig.getString("item.minecraft.phantom_membrane", "Phantom Membrane"))); - itemNames.add(new ItemName(Material.NAUTILUS_SHELL, langConfig.getString("item.minecraft.nautilus_shell", "Nautilus Shell"))); - itemNames.add(new ItemName(Material.HEART_OF_THE_SEA, langConfig.getString("item.minecraft.heart_of_the_sea", "Heart of the Sea"))); - - if (Utils.getMajorVersion() >= 14) { - // Add 1.14 item names - itemNames.add(new ItemName(Material.ACACIA_SIGN, langConfig.getString("block.minecraft.acacia_sign", "Acacia Sign"))); - itemNames.add(new ItemName(Material.ACACIA_WALL_SIGN, langConfig.getString("block.minecraft.acacia_wall_sign", "Acacia Wall Sign"))); - itemNames.add(new ItemName(Material.ANDESITE_SLAB, langConfig.getString("block.minecraft.andesite_slab", "Andesite Slab"))); - itemNames.add(new ItemName(Material.ANDESITE_STAIRS, langConfig.getString("block.minecraft.andesite_stairs", "Andesite Stairs"))); - itemNames.add(new ItemName(Material.ANDESITE_WALL, langConfig.getString("block.minecraft.andesite_wall", "Andesite Wall"))); - itemNames.add(new ItemName(Material.BAMBOO, langConfig.getString("block.minecraft.bamboo", "Bamboo"))); - itemNames.add(new ItemName(Material.BAMBOO_SAPLING, langConfig.getString("block.minecraft.bamboo_sapling", "Bamboo Sapling"))); - itemNames.add(new ItemName(Material.BARREL, langConfig.getString("block.minecraft.barrel", "Barrel"))); - itemNames.add(new ItemName(Material.BELL, langConfig.getString("block.minecraft.bell", "Bell"))); - itemNames.add(new ItemName(Material.BIRCH_SIGN, langConfig.getString("block.minecraft.birch_sign", "Birch Sign"))); - itemNames.add(new ItemName(Material.BIRCH_WALL_SIGN, langConfig.getString("block.minecraft.birch_wall_sign", "Birch Wall Sign"))); - itemNames.add(new ItemName(Material.BLACK_DYE, langConfig.getString("item.minecraft.black_dye", "Black Dye"))); - itemNames.add(new ItemName(Material.BLAST_FURNACE, langConfig.getString("block.minecraft.blast_furnace", "Blast Furnace"))); - itemNames.add(new ItemName(Material.BLUE_DYE, langConfig.getString("item.minecraft.blue_dye", "Blue Dye"))); - itemNames.add(new ItemName(Material.BRICK_WALL, langConfig.getString("block.minecraft.brick_wall", "Brick Wall"))); - itemNames.add(new ItemName(Material.BROWN_DYE, langConfig.getString("item.minecraft.brown_dye", "Brown Dye"))); - itemNames.add(new ItemName(Material.CAMPFIRE, langConfig.getString("block.minecraft.campfire", "Campfire"))); - itemNames.add(new ItemName(Material.CARTOGRAPHY_TABLE, langConfig.getString("block.minecraft.cartography_table", "Cartography Table"))); - itemNames.add(new ItemName(Material.CAT_SPAWN_EGG, langConfig.getString("item.minecraft.cat_spawn_egg", "Cat Spawn Egg"))); - itemNames.add(new ItemName(Material.COMPOSTER, langConfig.getString("block.minecraft.composter", "Composter"))); - itemNames.add(new ItemName(Material.CORNFLOWER, langConfig.getString("block.minecraft.cornflower", "Cornflower"))); - itemNames.add(new ItemName(Material.CREEPER_BANNER_PATTERN, langConfig.getString("item.minecraft.creeper_banner_pattern", "Banner Pattern"))); - itemNames.add(new ItemName(Material.CROSSBOW, langConfig.getString("item.minecraft.crossbow", "Crossbow"))); - itemNames.add(new ItemName(Material.CUT_RED_SANDSTONE_SLAB, langConfig.getString("block.minecraft.cut_red_sandstone_slab", "Cut Red Sandstone Slab"))); - itemNames.add(new ItemName(Material.CUT_SANDSTONE_SLAB, langConfig.getString("block.minecraft.cut_sandstone_slab", "Cut Sandstone Slab"))); - itemNames.add(new ItemName(Material.DARK_OAK_SIGN, langConfig.getString("block.minecraft.dark_oak_sign", "Dark Oak Sign"))); - itemNames.add(new ItemName(Material.DARK_OAK_WALL_SIGN, langConfig.getString("block.minecraft.dark_oak_wall_sign", "Dark Oak Wall Sign"))); - itemNames.add(new ItemName(Material.DEAD_BRAIN_CORAL, langConfig.getString("block.minecraft.dead_brain_coral", "Dead Brain Coral"))); - itemNames.add(new ItemName(Material.DEAD_BUBBLE_CORAL, langConfig.getString("block.minecraft.dead_bubble_coral", "Dead Bubble Coral"))); - itemNames.add(new ItemName(Material.DEAD_FIRE_CORAL, langConfig.getString("block.minecraft.dead_fire_coral", "Dead Fire Coral"))); - itemNames.add(new ItemName(Material.DEAD_HORN_CORAL, langConfig.getString("block.minecraft.dead_horn_coral", "Dead Horn Coral"))); - itemNames.add(new ItemName(Material.DEAD_TUBE_CORAL, langConfig.getString("block.minecraft.dead_tube_coral", "Dead Tube Coral"))); - itemNames.add(new ItemName(Material.DIORITE_SLAB, langConfig.getString("block.minecraft.diorite_slab", "Diorite Slab"))); - itemNames.add(new ItemName(Material.DIORITE_STAIRS, langConfig.getString("block.minecraft.diorite_stairs", "Diorite Stairs"))); - itemNames.add(new ItemName(Material.DIORITE_WALL, langConfig.getString("block.minecraft.diorite_wall", "Diorite Wall"))); - itemNames.add(new ItemName(Material.END_STONE_BRICK_SLAB, langConfig.getString("block.minecraft.end_stone_brick_slab", "End Stone Brick Slab"))); - itemNames.add(new ItemName(Material.END_STONE_BRICK_STAIRS, langConfig.getString("block.minecraft.end_stone_brick_stairs", "End Stone Brick Stairs"))); - itemNames.add(new ItemName(Material.END_STONE_BRICK_WALL, langConfig.getString("block.minecraft.end_stone_brick_wall", "End Stone Brick Wall"))); - itemNames.add(new ItemName(Material.FLETCHING_TABLE, langConfig.getString("block.minecraft.fletching_table", "Fletching Table"))); - itemNames.add(new ItemName(Material.FLOWER_BANNER_PATTERN, langConfig.getString("item.minecraft.flower_banner_pattern", "Banner Pattern"))); - itemNames.add(new ItemName(Material.FOX_SPAWN_EGG, langConfig.getString("item.minecraft.fox_spawn_egg", "Fox Spawn Egg"))); - itemNames.add(new ItemName(Material.GLOBE_BANNER_PATTERN, langConfig.getString("item.minecraft.globe_banner_pattern", "Banner Pattern"))); - itemNames.add(new ItemName(Material.GRANITE_SLAB, langConfig.getString("block.minecraft.granite_slab", "Granite Slab"))); - itemNames.add(new ItemName(Material.GRANITE_STAIRS, langConfig.getString("block.minecraft.granite_stairs", "Granite Stairs"))); - itemNames.add(new ItemName(Material.GRANITE_WALL, langConfig.getString("block.minecraft.granite_wall", "Granite Wall"))); - itemNames.add(new ItemName(Material.GREEN_DYE, langConfig.getString("item.minecraft.green_dye", "Green Dye"))); - itemNames.add(new ItemName(Material.GRINDSTONE, langConfig.getString("block.minecraft.grindstone", "Grindstone"))); - itemNames.add(new ItemName(Material.JIGSAW, langConfig.getString("block.minecraft.jigsaw", "Jigsaw"))); - itemNames.add(new ItemName(Material.JUNGLE_SIGN, langConfig.getString("block.minecraft.jungle_sign", "Jungle Sign"))); - itemNames.add(new ItemName(Material.JUNGLE_WALL_SIGN, langConfig.getString("block.minecraft.jungle_wall_sign", "Jungle Wall Sign"))); - itemNames.add(new ItemName(Material.LANTERN, langConfig.getString("block.minecraft.lantern", "Lantern"))); - itemNames.add(new ItemName(Material.LEATHER_HORSE_ARMOR, langConfig.getString("item.minecraft.leather_horse_armor", "Leather Horse Armor"))); - itemNames.add(new ItemName(Material.LECTERN, langConfig.getString("block.minecraft.lectern", "Lectern"))); - itemNames.add(new ItemName(Material.LILY_OF_THE_VALLEY, langConfig.getString("block.minecraft.lily_of_the_valley", "Lily of the Valley"))); - itemNames.add(new ItemName(Material.LOOM, langConfig.getString("block.minecraft.loom", "Loom"))); - itemNames.add(new ItemName(Material.MOJANG_BANNER_PATTERN, langConfig.getString("item.minecraft.mojang_banner_pattern", "Banner Pattern"))); - itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE_SLAB, langConfig.getString("block.minecraft.mossy_cobblestone_slab", "Mossy Cobblestone Slab"))); - itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE_STAIRS, langConfig.getString("block.minecraft.mossy_cobblestone_stairs", "Mossy Cobblestone Stairs"))); - itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_SLAB, langConfig.getString("block.minecraft.mossy_stone_brick_slab", "Mossy Stone Brick Slab"))); - itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_STAIRS, langConfig.getString("block.minecraft.mossy_stone_brick_stairs", "Mossy Stone Brick Stairs"))); - itemNames.add(new ItemName(Material.MOSSY_STONE_BRICK_WALL, langConfig.getString("block.minecraft.mossy_stone_brick_wall", "Mossy Stone Brick Wall"))); - itemNames.add(new ItemName(Material.NETHER_BRICK_WALL, langConfig.getString("block.minecraft.nether_brick_wall", "Nether Brick Wall"))); - itemNames.add(new ItemName(Material.OAK_SIGN, langConfig.getString("block.minecraft.oak_sign", "Oak Sign"))); - itemNames.add(new ItemName(Material.OAK_WALL_SIGN, langConfig.getString("block.minecraft.oak_wall_sign", "Oak Wall Sign"))); - itemNames.add(new ItemName(Material.PANDA_SPAWN_EGG, langConfig.getString("item.minecraft.panda_spawn_egg", "Panda Spawn Egg"))); - itemNames.add(new ItemName(Material.PILLAGER_SPAWN_EGG, langConfig.getString("item.minecraft.pillager_spawn_egg", "Pillager Spawn Egg"))); - itemNames.add(new ItemName(Material.POLISHED_ANDESITE_SLAB, langConfig.getString("block.minecraft.polished_andesite_slab", "Polished Andesite Slab"))); - itemNames.add(new ItemName(Material.POLISHED_ANDESITE_STAIRS, langConfig.getString("block.minecraft.polished_andesite_stairs", "Polished Andesite Stairs"))); - itemNames.add(new ItemName(Material.POLISHED_DIORITE_SLAB, langConfig.getString("block.minecraft.polished_diorite_slab", "Polished Diorite Slab"))); - itemNames.add(new ItemName(Material.POLISHED_DIORITE_STAIRS, langConfig.getString("block.minecraft.polished_diorite_stairs", "Polished Diorite Stairs"))); - itemNames.add(new ItemName(Material.POLISHED_GRANITE_SLAB, langConfig.getString("block.minecraft.polished_granite_slab", "Polished Granite Slab"))); - itemNames.add(new ItemName(Material.POLISHED_GRANITE_STAIRS, langConfig.getString("block.minecraft.polished_granite_stairs", "Polished Granite Stairs"))); - itemNames.add(new ItemName(Material.POTTED_BAMBOO, langConfig.getString("block.minecraft.potted_bamboo", "Potted Bamboo"))); - itemNames.add(new ItemName(Material.POTTED_CORNFLOWER, langConfig.getString("block.minecraft.potted_cornflower", "Potted Cornflower"))); - itemNames.add(new ItemName(Material.POTTED_LILY_OF_THE_VALLEY, langConfig.getString("block.minecraft.potted_lily_of_the_valley", "Potted Lily of the Valley"))); - itemNames.add(new ItemName(Material.POTTED_WITHER_ROSE, langConfig.getString("block.minecraft.potted_wither_rose", "Potted Wither Rose"))); - itemNames.add(new ItemName(Material.PRISMARINE_WALL, langConfig.getString("block.minecraft.prismarine_wall", "Prismarine Wall"))); - itemNames.add(new ItemName(Material.RAVAGER_SPAWN_EGG, langConfig.getString("item.minecraft.ravager_spawn_egg", "Ravager Spawn Egg"))); - itemNames.add(new ItemName(Material.RED_DYE, langConfig.getString("item.minecraft.red_dye", "Red Dye"))); - itemNames.add(new ItemName(Material.RED_NETHER_BRICK_SLAB, langConfig.getString("block.minecraft.red_nether_brick_slab", "Red Nether Brick Slab"))); - itemNames.add(new ItemName(Material.RED_NETHER_BRICK_STAIRS, langConfig.getString("block.minecraft.red_nether_brick_stairs", "Red Nether Brick Stairs"))); - itemNames.add(new ItemName(Material.RED_NETHER_BRICK_WALL, langConfig.getString("block.minecraft.red_nether_brick_wall", "Red Nether Brick Wall"))); - itemNames.add(new ItemName(Material.RED_SANDSTONE_WALL, langConfig.getString("block.minecraft.red_sandstone_wall", "Red Sandstone Wall"))); - itemNames.add(new ItemName(Material.SANDSTONE_WALL, langConfig.getString("block.minecraft.sandstone_wall", "Sandstone Wall"))); - itemNames.add(new ItemName(Material.SCAFFOLDING, langConfig.getString("block.minecraft.scaffolding", "Scaffolding"))); - itemNames.add(new ItemName(Material.SKULL_BANNER_PATTERN, langConfig.getString("item.minecraft.skull_banner_pattern", "Banner Pattern"))); - itemNames.add(new ItemName(Material.SMITHING_TABLE, langConfig.getString("block.minecraft.smithing_table", "Smithing Table"))); - itemNames.add(new ItemName(Material.SMOKER, langConfig.getString("block.minecraft.smoker", "Smoker"))); - itemNames.add(new ItemName(Material.SMOOTH_QUARTZ_SLAB, langConfig.getString("block.minecraft.smooth_quartz_slab", "Smooth Quartz Slab"))); - itemNames.add(new ItemName(Material.SMOOTH_QUARTZ_STAIRS, langConfig.getString("block.minecraft.smooth_quartz_stairs", "Smooth Quartz Stairs"))); - itemNames.add(new ItemName(Material.SMOOTH_RED_SANDSTONE_SLAB, langConfig.getString("block.minecraft.smooth_red_sandstone_slab", "Smooth Red Sandstone Slab"))); - itemNames.add(new ItemName(Material.SMOOTH_RED_SANDSTONE_STAIRS, langConfig.getString("block.minecraft.smooth_red_sandstone_stairs", "Smooth Red Sandstone Stairs"))); - itemNames.add(new ItemName(Material.SMOOTH_SANDSTONE_SLAB, langConfig.getString("block.minecraft.smooth_sandstone_slab", "Smooth Sandstone Slab"))); - itemNames.add(new ItemName(Material.SMOOTH_SANDSTONE_STAIRS, langConfig.getString("block.minecraft.smooth_sandstone_stairs", "Smooth Sandstone Stairs"))); - itemNames.add(new ItemName(Material.SMOOTH_STONE_SLAB, langConfig.getString("block.minecraft.smooth_stone_slab", "Smooth Stone Slab"))); - itemNames.add(new ItemName(Material.SPRUCE_SIGN, langConfig.getString("block.minecraft.spruce_sign", "Spruce Sign"))); - itemNames.add(new ItemName(Material.SPRUCE_WALL_SIGN, langConfig.getString("block.minecraft.spruce_wall_sign", "Spruce Wall Sign"))); - itemNames.add(new ItemName(Material.STONE_BRICK_WALL, langConfig.getString("block.minecraft.stone_brick_wall", "Stone Brick Wall"))); - itemNames.add(new ItemName(Material.STONECUTTER, langConfig.getString("block.minecraft.stonecutter", "Stonecutter"))); - itemNames.add(new ItemName(Material.SUSPICIOUS_STEW, langConfig.getString("item.minecraft.suspicious_stew", "Suspicious Stew"))); - itemNames.add(new ItemName(Material.SWEET_BERRIES, langConfig.getString("item.minecraft.sweet_berries", "Sweet Berries"))); - itemNames.add(new ItemName(Material.SWEET_BERRY_BUSH, langConfig.getString("block.minecraft.sweet_berry_bush", "Sweet Berry Bush"))); - itemNames.add(new ItemName(Material.TRADER_LLAMA_SPAWN_EGG, langConfig.getString("item.minecraft.trader_llama_spawn_egg", "Trader Llama Spawn Egg"))); - itemNames.add(new ItemName(Material.WANDERING_TRADER_SPAWN_EGG, langConfig.getString("item.minecraft.wandering_trader_spawn_egg", "Wandering Trader Spawn Egg"))); - itemNames.add(new ItemName(Material.WHITE_DYE, langConfig.getString("item.minecraft.white_dye", "White Dye"))); - itemNames.add(new ItemName(Material.WITHER_ROSE, langConfig.getString("block.minecraft.wither_rose", "Wither Rose"))); - itemNames.add(new ItemName(Material.YELLOW_DYE, langConfig.getString("item.minecraft.yellow_dye", "Yellow Dye"))); - } else { - // Add pre-1.14 item names that don't exist anymore - itemNames.add(new ItemName(Material.valueOf("CACTUS_GREEN"), langConfig.getString("item.minecraft.cactus_green", "Cactus Green"))); - itemNames.add(new ItemName(Material.valueOf("DANDELION_YELLOW"), langConfig.getString("item.minecraft.dandelion_yellow", "Dandelion Yellow"))); - itemNames.add(new ItemName(Material.valueOf("ROSE_RED"), langConfig.getString("item.minecraft.rose_red", "Rose Red"))); - itemNames.add(new ItemName(Material.valueOf("SIGN"), langConfig.getString("item.minecraft.sign", "Sign"))); - itemNames.add(new ItemName(Material.valueOf("WALL_SIGN"), langConfig.getString("block.minecraft.wall_sign", "Wall Sign"))); - } - - // Add Enchantment Names - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ALL, langConfig.getString("enchantment.minecraft.sharpness", "Sharpness"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_UNDEAD, langConfig.getString("enchantment.minecraft.smite", "Smite"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DAMAGE_ARTHROPODS, langConfig.getString("enchantment.minecraft.bane_of_arthropods", "Bane of Arthropods"))); - enchantmentNames.add(new EnchantmentName(Enchantment.KNOCKBACK, langConfig.getString("enchantment.minecraft.knockback", "Knockback"))); - enchantmentNames.add(new EnchantmentName(Enchantment.FIRE_ASPECT, langConfig.getString("enchantment.minecraft.fire_aspect", "Fire Aspect"))); - enchantmentNames.add(new EnchantmentName(Enchantment.SWEEPING_EDGE, langConfig.getString("enchantment.minecraft.sweeping", "Sweeping Edge"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_ENVIRONMENTAL, langConfig.getString("enchantment.minecraft.protection", "Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_FIRE, langConfig.getString("enchantment.minecraft.fire_protection", "Fire Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_FALL, langConfig.getString("enchantment.minecraft.feather_falling", "Feather Falling"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_EXPLOSIONS, langConfig.getString("enchantment.minecraft.blast_protection", "Blast Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PROTECTION_PROJECTILE, langConfig.getString("enchantment.minecraft.projectile_protection", "Projectile Protection"))); - enchantmentNames.add(new EnchantmentName(Enchantment.OXYGEN, langConfig.getString("enchantment.minecraft.respiration", "Respiration"))); - enchantmentNames.add(new EnchantmentName(Enchantment.WATER_WORKER, langConfig.getString("enchantment.minecraft.aqua_affinity", "Aqua Affinity"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DEPTH_STRIDER, langConfig.getString("enchantment.minecraft.depth_strider", "Depth Strider"))); - enchantmentNames.add(new EnchantmentName(Enchantment.FROST_WALKER, langConfig.getString("enchantment.minecraft.frost_walker", "Frost Walker"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DIG_SPEED, langConfig.getString("enchantment.minecraft.efficiency", "Efficiency"))); - enchantmentNames.add(new EnchantmentName(Enchantment.SILK_TOUCH, langConfig.getString("enchantment.minecraft.silk_touch", "Silk Touch"))); - enchantmentNames.add(new EnchantmentName(Enchantment.DURABILITY, langConfig.getString("enchantment.minecraft.unbreaking", "Unbreaking"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LOOT_BONUS_MOBS, langConfig.getString("enchantment.minecraft.looting", "Looting"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LOOT_BONUS_BLOCKS, langConfig.getString("enchantment.minecraft.fortune", "Fortune"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LUCK, langConfig.getString("enchantment.minecraft.luck_of_the_sea", "Luck of the Sea"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LURE, langConfig.getString("enchantment.minecraft.lure", "Lure"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_DAMAGE, langConfig.getString("enchantment.minecraft.power", "Power"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_FIRE, langConfig.getString("enchantment.minecraft.flame", "Flame"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_KNOCKBACK, langConfig.getString("enchantment.minecraft.punch", "Punch"))); - enchantmentNames.add(new EnchantmentName(Enchantment.ARROW_INFINITE, langConfig.getString("enchantment.minecraft.infinity", "Infinity"))); - enchantmentNames.add(new EnchantmentName(Enchantment.THORNS, langConfig.getString("enchantment.minecraft.thorns", "Thorns"))); - enchantmentNames.add(new EnchantmentName(Enchantment.MENDING, langConfig.getString("enchantment.minecraft.mending", "Mending"))); - enchantmentNames.add(new EnchantmentName(Enchantment.BINDING_CURSE, langConfig.getString("enchantment.minecraft.binding_curse", "Curse of Binding"))); - enchantmentNames.add(new EnchantmentName(Enchantment.VANISHING_CURSE, langConfig.getString("enchantment.minecraft.vanishing_curse", "Curse of Vanishing"))); - enchantmentNames.add(new EnchantmentName(Enchantment.LOYALTY, langConfig.getString("enchantment.minecraft.loyalty", "Loyalty"))); - enchantmentNames.add(new EnchantmentName(Enchantment.IMPALING, langConfig.getString("enchantment.minecraft.impaling", "Impaling"))); - enchantmentNames.add(new EnchantmentName(Enchantment.RIPTIDE, langConfig.getString("enchantment.minecraft.riptide", "Riptide"))); - enchantmentNames.add(new EnchantmentName(Enchantment.CHANNELING, langConfig.getString("enchantment.minecraft.channeling", "Channeling"))); - - if (Utils.getMajorVersion() >= 14) { - // Add 1.14 enchantment names - enchantmentNames.add(new EnchantmentName(Enchantment.MULTISHOT, langConfig.getString("enchantment.minecraft.multishot", "Multishot"))); - enchantmentNames.add(new EnchantmentName(Enchantment.QUICK_CHARGE, langConfig.getString("enchantment.minecraft.quick_charge", "Quick Charge"))); - enchantmentNames.add(new EnchantmentName(Enchantment.PIERCING, langConfig.getString("enchantment.minecraft.piercing", "Piercing"))); - } - - // Add Enchantment Level Names - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(1, langConfig.getString("enchantment.level.1", "I"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(2, langConfig.getString("enchantment.level.2", "II"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(3, langConfig.getString("enchantment.level.3", "II"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(4, langConfig.getString("enchantment.level.4", "IV"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(5, langConfig.getString("enchantment.level.5", "V"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(6, langConfig.getString("enchantment.level.6", "VI"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(7, langConfig.getString("enchantment.level.7", "VII"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(8, langConfig.getString("enchantment.level.8", "VIII"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(9, langConfig.getString("enchantment.level.9", "IX"))); - enchantmentLevelNames.add(new EnchantmentName.EnchantmentLevelName(10, langConfig.getString("enchantment.level.10", "X"))); - - // Add Potion Effect Names - potionEffectNames.add(new PotionEffectName(PotionEffectType.SPEED, langConfig.getString("effect.minecraft.speed", "Speed"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SLOW, langConfig.getString("effect.minecraft.slowness", "Slowness"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.FAST_DIGGING, langConfig.getString("effect.minecraft.haste", "Haste"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SLOW_DIGGING, langConfig.getString("effect.minecraft.mining_fatigue", "Mining Fatigue"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.INCREASE_DAMAGE, langConfig.getString("effect.minecraft.strength", "Strength"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HEAL, langConfig.getString("effect.minecraft.instant_health", "Instant Health"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HARM, langConfig.getString("effect.minecraft.instant_damage", "Instant Damage"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.JUMP, langConfig.getString("effect.minecraft.jump_boost", "Jump Boost"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.CONFUSION, langConfig.getString("effect.minecraft.nausea", "Nausea"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.REGENERATION, langConfig.getString("effect.minecraft.regeneration", "Regeneration"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.DAMAGE_RESISTANCE, langConfig.getString("effect.minecraft.resistance", "Resistance"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.FIRE_RESISTANCE, langConfig.getString("effect.minecraft.fire_resistance", "Fire Resistance"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.WATER_BREATHING, langConfig.getString("effect.minecraft.water_breathing", "Water Breathing"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.INVISIBILITY, langConfig.getString("effect.minecraft.invisibility", "Invisibility"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.BLINDNESS, langConfig.getString("effect.minecraft.blindness", "Blindness"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.NIGHT_VISION, langConfig.getString("effect.minecraft.night_vision", "Night Vision"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HUNGER, langConfig.getString("effect.minecraft.hunger", "Hunger"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.WEAKNESS, langConfig.getString("effect.minecraft.weakness", "Weakness"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.POISON, langConfig.getString("effect.minecraft.poison", "Poison"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.WITHER, langConfig.getString("effect.minecraft.wither", "Wither"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HEALTH_BOOST, langConfig.getString("effect.minecraft.health_boost", "Health Boost"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.ABSORPTION, langConfig.getString("effect.minecraft.absorption", "Absorption"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SATURATION, langConfig.getString("effect.minecraft.saturation", "Saturation"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.GLOWING, langConfig.getString("effect.minecraft.glowing", "Glowing"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.LUCK, langConfig.getString("effect.minecraft.luck", "Luck"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.UNLUCK, langConfig.getString("effect.minecraft.unluck", "Bad Luck"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.LEVITATION, langConfig.getString("effect.minecraft.levitation", "Levitation"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.SLOW_FALLING, langConfig.getString("effect.minecraft.slow_falling", "Slow Falling"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.CONDUIT_POWER, langConfig.getString("effect.minecraft.conduit_power", "Conduit Power"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.DOLPHINS_GRACE, langConfig.getString("effect.minecraft.dolphins_grace", "Dolphin's Grace"))); - - - if (Utils.getMajorVersion() >= 14) { - // Add 1.14 potion effect names - potionEffectNames.add(new PotionEffectName(PotionEffectType.BAD_OMEN, langConfig.getString("effect.minecraft.bad_omen", "Bad Omen"))); - potionEffectNames.add(new PotionEffectName(PotionEffectType.HERO_OF_THE_VILLAGE, langConfig.getString("effect.minecraft.hero_of_the_village", "Hero of the Village"))); - - } - - // Add Potion Names - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.UNCRAFTABLE, langConfig.getString("item.minecraft.potion.effect.empty", "Uncraftable Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WATER, langConfig.getString("item.minecraft.potion.effect.water", "Water Bottle"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.MUNDANE, langConfig.getString("item.minecraft.potion.effect.mundane", "Mundane Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.THICK, langConfig.getString("item.minecraft.potion.effect.thick", "Thick Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.AWKWARD, langConfig.getString("item.minecraft.potion.effect.awkward", "Awkward Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.NIGHT_VISION, langConfig.getString("item.minecraft.potion.effect.night_vision", "Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INVISIBILITY, langConfig.getString("item.minecraft.potion.effect.invisibility", "Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.JUMP, langConfig.getString("item.minecraft.potion.effect.leaping", "Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("item.minecraft.potion.effect.fire_resistance", "Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.SPEED, langConfig.getString("item.minecraft.potion.effect.swiftness", "Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.SLOWNESS, langConfig.getString("item.minecraft.potion.effect.slowness", "Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WATER_BREATHING, langConfig.getString("item.minecraft.potion.effect.water_breathing", "Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INSTANT_HEAL, langConfig.getString("item.minecraft.potion.effect.healing", "Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("item.minecraft.potion.effect.harming", "Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.POISON, langConfig.getString("item.minecraft.potion.effect.poison", "Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.REGEN, langConfig.getString("item.minecraft.potion.effect.regeneration", "Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.STRENGTH, langConfig.getString("item.minecraft.potion.effect.strength", "Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.WEAKNESS, langConfig.getString("item.minecraft.potion.effect.weakness", "Potion of Weakness"))); - //potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.LEVITATION, langConfig.getString("item.minecraft.potion.effect.levitation", "Potion of Levitation"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.LUCK, langConfig.getString("item.minecraft.potion.effect.luck", "Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.TURTLE_MASTER, langConfig.getString("item.minecraft.potion.effect.turtle_master", "Potion of the Turtle Master"))); - potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.SLOW_FALLING, langConfig.getString("item.minecraft.potion.effect.slow_falling", "Potion of Slow Falling"))); - - // Add Splash Potion Names - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.UNCRAFTABLE, langConfig.getString("item.minecraft.splash_potion.effect.empty", "Splash Uncraftable Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WATER, langConfig.getString("item.minecraft.splash_potion.effect.water", "Splash Water Bottle"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.MUNDANE, langConfig.getString("item.minecraft.splash_potion.effect.mundane", "Mundane Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.THICK, langConfig.getString("item.minecraft.splash_potion.effect.thick", "Thick Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.AWKWARD, langConfig.getString("item.minecraft.splash_potion.effect.awkward", "Awkward Splash Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.NIGHT_VISION, langConfig.getString("item.minecraft.splash_potion.effect.night_vision", "Splash Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INVISIBILITY, langConfig.getString("item.minecraft.splash_potion.effect.invisibility", "Splash Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.JUMP, langConfig.getString("item.minecraft.splash_potion.effect.leaping", "Splash Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("item.minecraft.splash_potion.effect.fire_resistance", "Splash Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.SPEED, langConfig.getString("item.minecraft.splash_potion.effect.swiftness", "Splash Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.SLOWNESS, langConfig.getString("item.minecraft.splash_potion.effect.slowness", "Splash Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WATER_BREATHING, langConfig.getString("item.minecraft.splash_potion.effect.water_breathing", "Splash Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INSTANT_HEAL, langConfig.getString("item.minecraft.splash_potion.effect.healing", "Splash Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("item.minecraft.splash_potion.effect.harming", "Splash Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.POISON, langConfig.getString("item.minecraft.splash_potion.effect.poison", "Splash Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.REGEN, langConfig.getString("item.minecraft.splash_potion.effect.regeneration", "Splash Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.STRENGTH, langConfig.getString("item.minecraft.splash_potion.effect.strength", "Splash Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.WEAKNESS, langConfig.getString("item.minecraft.splash_potion.effect.weakness", "Splash Potion of Weakness"))); - //potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.LEVITATION, langConfig.getString("item.minecraft.splash_potion.effect.levitation", "Splash Potion of Levitation"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.LUCK, langConfig.getString("item.minecraft.splash_potion.effect.luck", "Splash Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.TURTLE_MASTER, langConfig.getString("item.minecraft.splash_potion.effect.turtle_master", "Splash Potion of the Turtle Master"))); - potionNames.add(new PotionName(PotionName.PotionItemType.SPLASH_POTION, PotionType.SLOW_FALLING, langConfig.getString("item.minecraft.splash_potion.effect.slow_falling", "Splash Potion of Slow Falling"))); - - // Add Lingering Potion Names - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.UNCRAFTABLE, langConfig.getString("item.minecraft.lingering_potion.effect.empty", "Lingering Uncraftable Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WATER, langConfig.getString("item.minecraft.lingering_potion.effect.water", "Lingering Water Bottle"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.MUNDANE, langConfig.getString("item.minecraft.lingering_potion.effect.mundane", "Mundane Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.THICK, langConfig.getString("item.minecraft.lingering_potion.effect.thick", "Thick Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.AWKWARD, langConfig.getString("item.minecraft.lingering_potion.effect.awkward", "Awkward Lingering Potion"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.NIGHT_VISION, langConfig.getString("item.minecraft.lingering_potion.effect.night_vision", "Lingering Potion of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INVISIBILITY, langConfig.getString("item.minecraft.lingering_potion.effect.invisibility", "Lingering Potion of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.JUMP, langConfig.getString("item.minecraft.lingering_potion.effect.leaping", "Lingering Potion of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.FIRE_RESISTANCE, langConfig.getString("item.minecraft.lingering_potion.effect.fire_resistance", "Lingering Potion of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.SPEED, langConfig.getString("item.minecraft.lingering_potion.effect.swiftness", "Lingering Potion of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.SLOWNESS, langConfig.getString("item.minecraft.lingering_potion.effect.slowness", "Lingering Potion of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WATER_BREATHING, langConfig.getString("item.minecraft.lingering_potion.effect.water_breathing", "Lingering Potion of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INSTANT_HEAL, langConfig.getString("item.minecraft.lingering_potion.effect.healing", "Lingering Potion of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.INSTANT_DAMAGE, langConfig.getString("item.minecraft.lingering_potion.effect.harming", "Lingering Potion of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.POISON, langConfig.getString("item.minecraft.lingering_potion.effect.poison", "Lingering Potion of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.REGEN, langConfig.getString("item.minecraft.lingering_potion.effect.regeneration", "Lingering Potion of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.STRENGTH, langConfig.getString("item.minecraft.lingering_potion.effect.strength", "Lingering Potion of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.WEAKNESS, langConfig.getString("item.minecraft.lingering_potion.effect.weakness", "Lingering Potion of Weakness"))); - //potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.LEVITATION, langConfig.getString("item.minecraft.lingering_potion.effect.levitation", "Lingering Potion of Levitation"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.LUCK, langConfig.getString("item.minecraft.lingering_potion.effect.luck", "Lingering Potion of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.TURTLE_MASTER, langConfig.getString("item.minecraft.lingering_potion.effect.turtle_master", "Lingering Potion of the Turtle Master"))); - potionNames.add(new PotionName(PotionName.PotionItemType.LINGERING_POTION, PotionType.SLOW_FALLING, langConfig.getString("item.minecraft.lingering_potion.effect.slow_falling", "Lingering Potion of Slow Falling"))); - - // Add Tipped Arrow Names - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.UNCRAFTABLE, langConfig.getString("item.minecraft.tipped_arrow.effect.empty", "Uncraftable Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WATER, langConfig.getString("item.minecraft.tipped_arrow.effect.water", "Arrow of Splashing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.MUNDANE, langConfig.getString("item.minecraft.tipped_arrow.effect.mundane", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.THICK, langConfig.getString("item.minecraft.tipped_arrow.effect.thick", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.AWKWARD, langConfig.getString("item.minecraft.tipped_arrow.effect.awkward", "Tipped Arrow"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.NIGHT_VISION, langConfig.getString("item.minecraft.tipped_arrow.effect.night_vision", "Arrow of Night Vision"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INVISIBILITY, langConfig.getString("item.minecraft.tipped_arrow.effect.invisibility", "Arrow of Invisibility"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.JUMP, langConfig.getString("item.minecraft.tipped_arrow.effect.leaping", "Arrow of Leaping"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.FIRE_RESISTANCE, langConfig.getString("item.minecraft.tipped_arrow.effect.fire_resistance", "Arrow of Fire Resistance"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.SPEED, langConfig.getString("item.minecraft.tipped_arrow.effect.swiftness", "Arrow of Swiftness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.SLOWNESS, langConfig.getString("item.minecraft.tipped_arrow.effect.slowness", "Arrow of Slowness"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WATER_BREATHING, langConfig.getString("item.minecraft.tipped_arrow.effect.water_breathing", "Arrow of Water Breathing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INSTANT_HEAL, langConfig.getString("item.minecraft.tipped_arrow.effect.healing", "Arrow of Healing"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.INSTANT_DAMAGE, langConfig.getString("item.minecraft.tipped_arrow.effect.harming", "Arrow of Harming"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.POISON, langConfig.getString("item.minecraft.tipped_arrow.effect.poison", "Arrow of Poison"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.REGEN, langConfig.getString("item.minecraft.tipped_arrow.effect.regeneration", "Arrow of Regeneration"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.STRENGTH, langConfig.getString("item.minecraft.tipped_arrow.effect.strength", "Arrow of Strength"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.WEAKNESS, langConfig.getString("item.minecraft.tipped_arrow.effect.weakness", "Arrow of Weakness"))); - //potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.LEVITATION, langConfig.getString("item.minecraft.tipped_arrow.effect.levitation", "Arrow of Levitation"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.LUCK, langConfig.getString("item.minecraft.tipped_arrow.effect.luck", "Arrow of Luck"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.TURTLE_MASTER, langConfig.getString("item.minecraft.tipped_arrow.effect.turtle_master", "Arrow of the Turtle Master"))); - potionNames.add(new PotionName(PotionName.PotionItemType.TIPPED_ARROW, PotionType.SLOW_FALLING, langConfig.getString("item.minecraft.tipped_arrow.effect.slow_falling", "Arrow of Slow Falling"))); - - // Add Music Disc Titles - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_13, langConfig.getString("item.minecraft.music_disc_13.desc", "C418 - 13"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_CAT, langConfig.getString("item.minecraft.music_disc_cat.desc", "C418 - cat"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_BLOCKS, langConfig.getString("item.minecraft.music_disc_blocks.desc", "C418 - blocks"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_CHIRP, langConfig.getString("item.minecraft.music_disc_chirp.desc", "C418 - chirp"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_FAR, langConfig.getString("item.minecraft.music_disc_far.desc", "C418 - far"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_MALL, langConfig.getString("item.minecraft.music_disc_mall.desc", "C418 - mall"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_MELLOHI, langConfig.getString("item.minecraft.music_disc_mellohi.desc", "C418 - mellohi"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_STAL, langConfig.getString("item.minecraft.music_disc_stal.desc", "C418 - stal"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_STRAD, langConfig.getString("item.minecraft.music_disc_strad.desc", "C418 - strad"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_WARD, langConfig.getString("item.minecraft.music_disc_ward.desc", "C418 - ward"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_11, langConfig.getString("item.minecraft.music_disc_11.desc", "C418 - 11"))); - musicDiscNames.add(new MusicDiscName(Material.MUSIC_DISC_WAIT, langConfig.getString("item.minecraft.music_disc_wait.desc", "C418 - wait"))); - - if (Utils.getMajorVersion() >= 14) { - // Add Banner Pattern Names - bannerPatternNames.add(new BannerPatternName(Material.CREEPER_BANNER_PATTERN, langConfig.getString("item.minecraft.creeper_banner_pattern.desc", "Creeper Charge"))); - bannerPatternNames.add(new BannerPatternName(Material.SKULL_BANNER_PATTERN, langConfig.getString("item.minecraft.skull_banner_pattern.desc", "Skull Charge"))); - bannerPatternNames.add(new BannerPatternName(Material.FLOWER_BANNER_PATTERN, langConfig.getString("item.minecraft.flower_banner_pattern.desc", "Flower Charge"))); - bannerPatternNames.add(new BannerPatternName(Material.MOJANG_BANNER_PATTERN, langConfig.getString("item.minecraft.mojang_banner_pattern.desc", "Thing"))); - bannerPatternNames.add(new BannerPatternName(Material.GLOBE_BANNER_PATTERN, langConfig.getString("item.minecraft.globe_banner_pattern.desc", "Globe"))); - } - - // Add Book Generation Names - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.ORIGINAL, langConfig.getString("book.generation.0", "Original"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.COPY_OF_ORIGINAL, langConfig.getString("book.generation.1", "Copy of original"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.COPY_OF_COPY, langConfig.getString("book.generation.2", "Copy of a copy"))); - generationNames.add(new BookGenerationName(CustomBookMeta.Generation.TATTERED, langConfig.getString("book.generation.3", "Tattered"))); - - loadMessages(); - } - - private static void loadMessages() { - // Add ShopChest Messages - messages.add(new LocalizedMessage(Message.SHOP_CREATED, langConfig.getString("message.shop-created", "&6You were withdrawn &c%CREATION-PRICE% &6to create this shop."))); - messages.add(new LocalizedMessage(Message.ADMIN_SHOP_CREATED, langConfig.getString("message.admin-shop-created", "&6You were withdrawn &c%CREATION-PRICE% &6to create this admin shop."))); - messages.add(new LocalizedMessage(Message.CHEST_ALREADY_SHOP, langConfig.getString("message.chest-already-shop", "&cChest already shop."))); - messages.add(new LocalizedMessage(Message.CHEST_BLOCKED, langConfig.getString("message.chest-blocked", "&cThere must not be a block above the chest."))); - messages.add(new LocalizedMessage(Message.DOUBLE_CHEST_BLOCKED, langConfig.getString("message.double-chest-blocked", "&cThere must not be a block above the chest."))); - messages.add(new LocalizedMessage(Message.SHOP_REMOVED, langConfig.getString("message.shop-removed", "&6Shop removed."))); - messages.add(new LocalizedMessage(Message.SHOP_REMOVED_REFUND, langConfig.getString("message.shop-removed-refund", "&6Shop removed. You were refunded &c%CREATION-PRICE%&6."))); - messages.add(new LocalizedMessage(Message.ALL_SHOPS_REMOVED, langConfig.getString("message.all-shops-removed", "&6Removed all (&c%AMOUNT%&6) shop/s of &c%VENDOR%&6."))); - messages.add(new LocalizedMessage(Message.CHEST_NO_SHOP, langConfig.getString("message.chest-no-shop", "&cChest is not a shop."))); - messages.add(new LocalizedMessage(Message.SHOP_CREATE_NOT_ENOUGH_MONEY, langConfig.getString("message.shop-create-not-enough-money", "&cNot enough money. You need &6%CREATION-PRICE% &cto create a shop."))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_VENDOR, langConfig.getString("message.shopInfo.vendor", "&6Vendor: &e%VENDOR%"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_PRODUCT, langConfig.getString("message.shopInfo.product", "&6Product: &e%AMOUNT% x %ITEMNAME%"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_STOCK, langConfig.getString("message.shopInfo.stock", "&6In Stock: &e%STOCK%"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_CHEST_SPACE, langConfig.getString("message.shopInfo.chest-space", "&6Space in chest: &e%CHEST-SPACE%"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_PRICE, langConfig.getString("message.shopInfo.price", "&6Price: Buy: &e%BUY-PRICE%&6 Sell: &e%SELL-PRICE%"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_DISABLED, langConfig.getString("message.shopInfo.disabled", "&7Disabled"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_NORMAL, langConfig.getString("message.shopInfo.is-normal", "&6Type: &eNormal"))); - messages.add(new LocalizedMessage(Message.SHOP_INFO_ADMIN, langConfig.getString("message.shopInfo.is-admin", "&6Type: &eAdmin"))); - messages.add(new LocalizedMessage(Message.BUY_SELL_DISABLED, langConfig.getString("message.buy-and-sell-disabled", "&cYou can't create a shop with buying and selling disabled."))); - messages.add(new LocalizedMessage(Message.BUY_SUCCESS, langConfig.getString("message.buy-success", "&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from &6%VENDOR%&a."))); - messages.add(new LocalizedMessage(Message.BUY_SUCCESS_ADMIN, langConfig.getString("message.buy-success-admin", "&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a."))); - messages.add(new LocalizedMessage(Message.SELL_SUCCESS, langConfig.getString("message.sell-success", "&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to &6%VENDOR%&a."))); - messages.add(new LocalizedMessage(Message.SELL_SUCCESS_ADMIN, langConfig.getString("message.sell-success-admin", "&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a."))); - messages.add(new LocalizedMessage(Message.SOMEONE_BOUGHT, langConfig.getString("message.someone-bought", "&6%PLAYER% &abought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from your shop."))); - messages.add(new LocalizedMessage(Message.SOMEONE_SOLD, langConfig.getString("message.someone-sold", "&6%PLAYER% &asold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to your shop."))); - messages.add(new LocalizedMessage(Message.REVENUE_WHILE_OFFLINE, langConfig.getString("message.revenue-while-offline", "&6While you were offline, your shops have made a revenue of &c%REVENUE%&6."))); - messages.add(new LocalizedMessage(Message.NOT_ENOUGH_INVENTORY_SPACE, langConfig.getString("message.not-enough-inventory-space", "&cNot enough space in inventory."))); - messages.add(new LocalizedMessage(Message.CHEST_NOT_ENOUGH_INVENTORY_SPACE, langConfig.getString("message.chest-not-enough-inventory-space", "&cShop is full."))); - messages.add(new LocalizedMessage(Message.NOT_ENOUGH_MONEY, langConfig.getString("message.not-enough-money", "&cNot enough money."))); - messages.add(new LocalizedMessage(Message.NOT_ENOUGH_ITEMS, langConfig.getString("message.not-enough-items", "&cNot enough items."))); - messages.add(new LocalizedMessage(Message.VENDOR_NOT_ENOUGH_MONEY, langConfig.getString("message.vendor-not-enough-money", "&cVendor has not enough money."))); - messages.add(new LocalizedMessage(Message.OUT_OF_STOCK, langConfig.getString("message.out-of-stock", "&cShop out of stock."))); - messages.add(new LocalizedMessage(Message.VENDOR_OUT_OF_STOCK, langConfig.getString("message.vendor-out-of-stock", "&cYour shop that sells &6%AMOUNT% x %ITEMNAME% &cis out of stock."))); - messages.add(new LocalizedMessage(Message.ERROR_OCCURRED, langConfig.getString("message.error-occurred", "&cAn error occurred: %ERROR%"))); - messages.add(new LocalizedMessage(Message.AMOUNT_PRICE_NOT_NUMBER, langConfig.getString("message.amount-and-price-not-number", "&cAmount and price must be a number."))); - messages.add(new LocalizedMessage(Message.AMOUNT_IS_ZERO, langConfig.getString("message.amount-is-zero", "&cAmount must be greater than 0."))); - messages.add(new LocalizedMessage(Message.PRICES_CONTAIN_DECIMALS, langConfig.getString("message.prices-contain-decimals", "&cPrices must not contain decimals."))); - messages.add(new LocalizedMessage(Message.NO_ITEM_IN_HAND, langConfig.getString("message.no-item-in-hand", "&cNo item in hand"))); - messages.add(new LocalizedMessage(Message.CLICK_CHEST_CREATE, langConfig.getString("message.click-chest-to-create-shop", "&aClick a chest within 15 seconds to create a shop."))); - messages.add(new LocalizedMessage(Message.CLICK_CHEST_REMOVE, langConfig.getString("message.click-chest-to-remove-shop", "&aClick a shop within 15 seconds to remove it."))); - messages.add(new LocalizedMessage(Message.CLICK_CHEST_INFO, langConfig.getString("message.click-chest-for-info", "&aClick a shop within 15 seconds to retrieve information."))); - messages.add(new LocalizedMessage(Message.CLICK_CHEST_OPEN, langConfig.getString("message.click-chest-to-open-shop", "&aClick a shop within 15 seconds to open it."))); - messages.add(new LocalizedMessage(Message.CLICK_TO_CONFIRM, langConfig.getString("message.click-to-confirm", "&aClick again to confirm."))); - messages.add(new LocalizedMessage(Message.OPENED_SHOP, langConfig.getString("message.opened-shop", "&aYou opened %VENDOR%'s shop."))); - messages.add(new LocalizedMessage(Message.CANNOT_BREAK_SHOP, langConfig.getString("message.cannot-break-shop", "&cYou can't break a shop."))); - messages.add(new LocalizedMessage(Message.CANNOT_SELL_BROKEN_ITEM, langConfig.getString("message.cannot-sell-broken-item", "&cYou can't sell a broken item."))); - messages.add(new LocalizedMessage(Message.BUY_PRICE_TOO_LOW, langConfig.getString("message.buy-price-too-low", "&cThe buy price must be higher than %MIN-PRICE%."))); - messages.add(new LocalizedMessage(Message.SELL_PRICE_TOO_LOW, langConfig.getString("message.sell-price-too-low", "&cThe sell price must be higher than %MIN-PRICE%."))); - messages.add(new LocalizedMessage(Message.BUY_PRICE_TOO_HIGH, langConfig.getString("message.buy-price-too-high", "&cThe buy price must be lower than %MAX-PRICE%."))); - messages.add(new LocalizedMessage(Message.SELL_PRICE_TOO_HIGH, langConfig.getString("message.sell-price-too-high", "&cThe sell price must be lower than %MAX-PRICE%."))); - messages.add(new LocalizedMessage(Message.BUYING_DISABLED, langConfig.getString("message.buying-disabled", "&cBuying is disabled at this shop."))); - messages.add(new LocalizedMessage(Message.SELLING_DISABLED, langConfig.getString("message.selling-disabled", "&cSelling is disabled at this shop."))); - messages.add(new LocalizedMessage(Message.RELOADED_SHOPS, langConfig.getString("message.reloaded-shops", "&aSuccessfully reloaded %AMOUNT% shop/s."))); - messages.add(new LocalizedMessage(Message.SHOP_LIMIT_REACHED, langConfig.getString("message.shop-limit-reached", "&cYou reached your limit of &6%LIMIT% &cshop/s."))); - messages.add(new LocalizedMessage(Message.OCCUPIED_SHOP_SLOTS, langConfig.getString("message.occupied-shop-slots", "&6You have &c%AMOUNT%/%LIMIT% &6shop slot/s occupied."))); - messages.add(new LocalizedMessage(Message.CANNOT_SELL_ITEM, langConfig.getString("message.cannot-sell-item", "&cYou cannot create a shop with this item."))); - messages.add(new LocalizedMessage(Message.USE_IN_CREATIVE, langConfig.getString("message.use-in-creative", "&cYou cannot use a shop in creative mode."))); - messages.add(new LocalizedMessage(Message.SELECT_ITEM, langConfig.getString("message.select-item", "&aOpen your inventory, and drop an item to select it."))); - messages.add(new LocalizedMessage(Message.ITEM_SELECTED, langConfig.getString("message.item-selected", "&aItem has been selected: &6%ITEMNAME%"))); - messages.add(new LocalizedMessage(Message.CREATION_CANCELLED, langConfig.getString("message.creation-cancelled", "&cShop creation has been cancelled."))); - messages.add(new LocalizedMessage(Message.UPDATE_AVAILABLE, langConfig.getString("message.update.update-available", "&6&lVersion &c%VERSION% &6of &cShopChest &6is available &chere."))); - messages.add(new LocalizedMessage(Message.UPDATE_CLICK_TO_DOWNLOAD, langConfig.getString("message.update.click-to-download", "Click to download"))); - messages.add(new LocalizedMessage(Message.UPDATE_NO_UPDATE, langConfig.getString("message.update.no-update", "&6&lNo new update available."))); - messages.add(new LocalizedMessage(Message.UPDATE_CHECKING, langConfig.getString("message.update.checking", "&6&lChecking for updates..."))); - messages.add(new LocalizedMessage(Message.UPDATE_ERROR, langConfig.getString("message.update.error", "&c&lError while checking for updates."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_CREATE, langConfig.getString("message.noPermission.create", "&cYou don't have permission to create a shop."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_CREATE_ADMIN, langConfig.getString("message.noPermission.create-admin", "&cYou don't have permission to create an admin shop."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_CREATE_PROTECTED, langConfig.getString("message.noPermission.create-protected", "&cYou don't have permission to create a shop on a protected chest."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_OPEN_OTHERS, langConfig.getString("message.noPermission.open-others", "&cYou don't have permission to open this chest."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_BUY, langConfig.getString("message.noPermission.buy", "&cYou don't have permission to buy something."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_SELL, langConfig.getString("message.noPermission.sell", "&cYou don't have permission to sell something."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_BUY_HERE, langConfig.getString("message.noPermission.buy-here", "&cYou don't have permission to buy something here."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_SELL_HERE, langConfig.getString("message.noPermission.sell-here", "&cYou don't have permission to sell something here."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_REMOVE_OTHERS, langConfig.getString("message.noPermission.remove-others", "&cYou don't have permission to remove this shop."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_REMOVE_ADMIN, langConfig.getString("message.noPermission.remove-admin", "&cYou don't have permission to remove an admin shop."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_RELOAD, langConfig.getString("message.noPermission.reload", "&cYou don't have permission to reload the shops."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_UPDATE, langConfig.getString("message.noPermission.update", "&cYou don't have permission to check for updates."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_CONFIG, langConfig.getString("message.noPermission.config", "&cYou don't have permission to change configuration values."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_EXTEND_OTHERS, langConfig.getString("message.noPermission.extend-others", "&cYou don't have permission to extend this chest."))); - messages.add(new LocalizedMessage(Message.NO_PERMISSION_EXTEND_PROTECTED, langConfig.getString("message.noPermission.extend-protected", "&cYou don't have permission to extend this chest to here."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_HEADER, langConfig.getString("message.commandDescription.header", "&6==== &c/%COMMAND% &6Help"))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_FOOTER, langConfig.getString("message.commandDescription.footer", "&6==== End"))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_CREATE, langConfig.getString("message.commandDescription.create", "&a/%COMMAND% create - Create a shop."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_CREATE_ADMIN, langConfig.getString("message.commandDescription.create-admin", "&a/%COMMAND% create [normal|admin] - Create a shop."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_REMOVE, langConfig.getString("message.commandDescription.remove", "&a/%COMMAND% remove - Remove a shop."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_INFO, langConfig.getString("message.commandDescription.info", "&a/%COMMAND% info - Retrieve shop information."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_REMOVEALL, langConfig.getString("message.commandDescription.removeall", "&a/%COMMAND% removeall - Remove all shops of a player."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_RELOAD, langConfig.getString("message.commandDescription.reload", "&a/%COMMAND% reload - Reload shops."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_UPDATE, langConfig.getString("message.commandDescription.update", "&a/%COMMAND% update - Check for Updates."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_LIMITS, langConfig.getString("message.commandDescription.limits", "&a/%COMMAND% limits - View shop limits."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_OPEN, langConfig.getString("message.commandDescription.open", "&a/%COMMAND% open - Open a shop."))); - messages.add(new LocalizedMessage(Message.COMMAND_DESC_CONFIG, langConfig.getString("message.commandDescription.config", "&a/%COMMAND% config - Change configuration values."))); - messages.add(new LocalizedMessage(Message.CHANGED_CONFIG_SET, langConfig.getString("message.config.set", "&6Changed &a%PROPERTY% &6to &a%VALUE%&6."))); - messages.add(new LocalizedMessage(Message.CHANGED_CONFIG_REMOVED, langConfig.getString("message.config.removed", "&6Removed &a%VALUE% &6from &a%PROPERTY%&6."))); - messages.add(new LocalizedMessage(Message.CHANGED_CONFIG_ADDED, langConfig.getString("message.config.added", "&6Added &a%VALUE% &6to &a%PROPERTY%&6."))); - } - - /** - * @param stack Item whose name to lookup - * @return Localized Name of the Item, the custom name, or if stack is a book, the title of the book - */ - public static String getItemName(ItemStack stack) { - if (stack == null) return null; - - if (stack.hasItemMeta()) { - ItemMeta meta = stack.getItemMeta(); - if (meta.getDisplayName() != null && !meta.getDisplayName().isEmpty()) { - return meta.getDisplayName(); - } else if (meta instanceof BookMeta && ((BookMeta) meta).hasTitle()) { - return ((BookMeta) meta).getTitle(); - } else if (meta instanceof SkullMeta) { - if (((SkullMeta) meta).hasOwner()) { - if (Utils.getMajorVersion() >= 13) { - return String.format(langConfig.getString("block.minecraft.player_head.named", "%s's Head"), ((SkullMeta) meta).getOwningPlayer().getName()); - } else { - return String.format(langConfig.getString("item.skull.player.name", "%s's Head"), ((SkullMeta) meta).getOwner()); - } - } - } - } - - Material material = stack.getType(); - - if (stack.getItemMeta() instanceof PotionMeta) { - PotionMeta meta = (PotionMeta) stack.getItemMeta(); - PotionType potionType; - String upgradeString; - - if (Utils.getMajorVersion() < 9) { - Potion potion = Potion.fromItemStack(stack); - potionType = potion.getType(); - upgradeString = potion.getLevel() == 2 && Config.appendPotionLevelToItemName ? " II" : ""; - } else { - potionType = meta.getBasePotionData().getType(); - upgradeString = (meta.getBasePotionData().isUpgraded() && Config.appendPotionLevelToItemName ? " II" : ""); - } - - for (PotionName potionName : potionNames) { - if (material == Material.POTION) { - if (Utils.getMajorVersion() < 9) { - if (Potion.fromItemStack(stack).isSplash()) { - if (potionName.getPotionItemType() == PotionName.PotionItemType.SPLASH_POTION && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } else { - if (potionName.getPotionItemType() == PotionName.PotionItemType.POTION && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } - } else { - if (potionName.getPotionItemType() == PotionName.PotionItemType.POTION && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } - } else { - if (Utils.getMajorVersion() >= 9) { - if (material == Material.LINGERING_POTION) { - if (potionName.getPotionItemType() == PotionName.PotionItemType.LINGERING_POTION && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } else if (material == Material.TIPPED_ARROW) { - if (potionName.getPotionItemType() == PotionName.PotionItemType.TIPPED_ARROW && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } else if (material == Material.SPLASH_POTION) { - if (potionName.getPotionItemType() == PotionName.PotionItemType.SPLASH_POTION && potionName.getPotionType() == potionType) { - return potionName.getLocalizedName() + upgradeString; - } - } - } - } - } - } - - for (ItemName itemName : itemNames) { - if (itemName.getMaterial() != material) { - continue; - } - - if (Utils.getMajorVersion() < 13) { - if (material.toString().equals("MONSTER_EGG")) { - EntityType spawnedType = SpawnEggMeta.getEntityTypeFromItemStack(plugin, stack); - - for (EntityName entityName : entityNames) { - if (entityName.getEntityType() == spawnedType) { - return itemName.getLocalizedName() + " " + entityName.getLocalizedName(); - } - } - - return itemName.getLocalizedName() + " " + formatDefaultString(String.valueOf(spawnedType)); - } - - if (itemName.getSubId() == stack.getDurability()) { - return itemName.getLocalizedName(); - } - } else { - return itemName.getLocalizedName(); - } - } - - return formatDefaultString(String.valueOf(material)); - } - - /** - * @param enchantment Enchantment whose name should be looked up - * @param level Level of the enchantment - * @return Localized Name of the enchantment with the given level afterwards - */ - public static String getEnchantmentName(Enchantment enchantment, int level) { - if (enchantment == null) return null; - - String levelString = langConfig.getString("enchantment.level." + level, String.valueOf(level)); - String enchantmentString = formatDefaultString(Utils.getMajorVersion() < 13 - ? enchantment.getName() : enchantment.getKey().getKey()); - - for (EnchantmentName enchantmentName : enchantmentNames) { - if (enchantmentName.getEnchantment().equals(enchantment)) { - enchantmentString = enchantmentName.getLocalizedName(); - } - } - - for (EnchantmentName.EnchantmentLevelName enchantmentLevelName : enchantmentLevelNames) { - if (enchantmentLevelName.getLevel() == level) { - levelString = enchantmentLevelName.getLocalizedName(); - } - } - - return enchantmentString + " " + levelString; - } - - /** - * @param enchantmentMap Map of enchantments of an item - * @return Comma separated list of localized enchantments - */ - public static String getEnchantmentString(Map enchantmentMap) { - if (enchantmentMap == null) return null; - Enchantment[] enchantments = enchantmentMap.keySet().toArray(new Enchantment[enchantmentMap.size()]); - StringBuilder enchantmentList = new StringBuilder(); - - for (int i = 0; i < enchantments.length; i++) { - Enchantment enchantment = enchantments[i]; - - if (i == enchantments.length - 1) { - enchantmentList.append(LanguageUtils.getEnchantmentName(enchantment, enchantmentMap.get(enchantment))); - } else { - enchantmentList.append(LanguageUtils.getEnchantmentName(enchantment, enchantmentMap.get(enchantment))); - enchantmentList.append(", "); - } - } - - return enchantmentList.toString(); - } - - /** - * @param itemStack Potion Item whose base effect name should be looked up - * @return Localized name of the base potion effect - */ - public static String getPotionEffectName(ItemStack itemStack) { - if (itemStack == null) return null; - if (!(itemStack.getItemMeta() instanceof PotionMeta)) return ""; - - PotionMeta potionMeta = (PotionMeta) itemStack.getItemMeta(); - PotionEffectType potionEffect; - boolean upgraded; - - if (Utils.getMajorVersion() < 9) { - Potion potion = Potion.fromItemStack(itemStack); - potionEffect = potion.getType().getEffectType(); - upgraded = potion.getLevel() == 2; - } else { - potionEffect = potionMeta.getBasePotionData().getType().getEffectType(); - upgraded = potionMeta.getBasePotionData().isUpgraded(); - } - - String potionEffectString = formatDefaultString(String.valueOf(potionEffect)); - - for (PotionEffectName potionEffectName : potionEffectNames) { - if (potionEffectName.getEffect() == potionEffect) { - potionEffectString = potionEffectName.getLocalizedName(); - } - } - - return potionEffectString + (upgraded ? " II" : ""); - } - - /** - * @param musicDiscMaterial Material of the Music Disc whose name should be looked up - * @return Localized title of the Music Disc - */ - public static String getMusicDiscName(Material musicDiscMaterial) { - if (musicDiscMaterial == null) return null; - for (MusicDiscName musicDiscName : musicDiscNames) { - if (musicDiscMaterial == musicDiscName.getMusicDiscMaterial()) { - return musicDiscName.getLocalizedName(); - } - } - - return ""; - } - - /** - * @param bannerPatternMaterial Material of the Music Disc whose name should be looked up - * @return Localized title of the Music Disc - */ - public static String getBannerPatternName(Material bannerPatternMaterial) { - if (bannerPatternMaterial == null) return null; - for (BannerPatternName bannerPatternName : bannerPatternNames) { - if (bannerPatternMaterial == bannerPatternName.getBannerPatternMaterial()) { - return bannerPatternName.getLocalizedName(); - } - } - - return ""; - } - - /** - * @param is ItemStack that should be of type {@link Material#WRITTEN_BOOK} - * @return Localized name of the generation or {@code null} if the item is not a written book - */ - public static String getBookGenerationName(ItemStack is) { - if (is.getType() != Material.WRITTEN_BOOK) { - return null; - } - - BookMeta meta = (BookMeta) is.getItemMeta(); - CustomBookMeta.Generation generation = null; - - if ((Utils.getMajorVersion() == 9 && Utils.getRevision() == 1) || Utils.getMajorVersion() == 8) { - generation = CustomBookMeta.getGeneration(is); - } else if (meta.getGeneration() != null) { - generation = CustomBookMeta.Generation.valueOf(meta.getGeneration().toString()); - } - - if (generation == null) { - generation = CustomBookMeta.Generation.ORIGINAL; - } - - for (BookGenerationName generationName : generationNames) { - if (generation == generationName.getGeneration()) { - return generationName.getLocalizedName(); - } - } - - return formatDefaultString(String.valueOf(generation)); - } - - /** - * @param message Message which should be translated - * @param replacements Replacements of placeholders which might be required to be replaced in the message - * @return Localized Message - */ - public static String getMessage(Message message, Replacement... replacements) { - String finalMessage = ChatColor.RED + "An error occurred: Message not found: " + message.toString(); - - for (LocalizedMessage localizedMessage : messages) { - if (localizedMessage.getMessage() == message) { - finalMessage = localizedMessage.getLocalizedString(); - - for (Replacement replacement : replacements) { - Placeholder placeholder = replacement.getPlaceholder(); - String toReplace = replacement.getReplacement(); - - if (placeholder == Placeholder.BUY_PRICE || placeholder == Placeholder.SELL_PRICE || placeholder == Placeholder.MIN_PRICE || placeholder == Placeholder.CREATION_PRICE || placeholder == Placeholder.REVENUE) { - if (!toReplace.equals(getMessage(Message.SHOP_INFO_DISABLED))) { - double price = Double.parseDouble(toReplace); - toReplace = plugin.getEconomy().format(price); - } - } - - finalMessage = finalMessage.replace(placeholder.toString(), toReplace); - } - } - } - - return finalMessage; - } - - /** - * Underscores will be replaced by spaces and the first letter of each word will be capitalized - * - * @param string String to format - * @return Formatted String with underscores replaced by spaces and the first letter of each word capitalized - */ - private static String formatDefaultString(String string) { - string = string.replace("_", " "); - String newString = ""; - - if (string.contains(" ")) { - for (int i = 0; i < string.split(" ").length; i++) { - String part = string.split(" ")[i].toLowerCase(); - part = part.substring(0, 1).toUpperCase() + part.substring(1); - newString = newString + part + (i == string.split(" ").length - 1 ? "" : " "); - } - - return newString; - } else { - newString = string.substring(0, 1).toUpperCase() + string.substring(1).toLowerCase(); - } - - return newString; - } - - -} - diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/LocalizedMessage.java b/implementation/src/main/java/de/epiceric/shopchest/language/LocalizedMessage.java deleted file mode 100644 index 2c699d7..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/LocalizedMessage.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.ChatColor; - -public class LocalizedMessage { - - private Message message; - private String localizedString; - - public LocalizedMessage(Message message, String localizedString) { - this.message = message; - this.localizedString = ChatColor.translateAlternateColorCodes('&', localizedString); - } - - /** - * @return {@link Message} linked to this object - */ - public Message getMessage() { - return message; - } - - /** - * @return Localized Message - */ - public String getLocalizedString() { - return localizedString; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/Message.java b/implementation/src/main/java/de/epiceric/shopchest/language/Message.java deleted file mode 100644 index db168a5..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/Message.java +++ /dev/null @@ -1,99 +0,0 @@ -package de.epiceric.shopchest.language; - -public enum Message { - SHOP_CREATED, - ADMIN_SHOP_CREATED, - CHEST_ALREADY_SHOP, - CHEST_BLOCKED, - DOUBLE_CHEST_BLOCKED, - SHOP_REMOVED, - SHOP_REMOVED_REFUND, - ALL_SHOPS_REMOVED, - CHEST_NO_SHOP, - SHOP_CREATE_NOT_ENOUGH_MONEY, - SHOP_INFO_VENDOR, - SHOP_INFO_PRODUCT, - SHOP_INFO_STOCK, - SHOP_INFO_CHEST_SPACE, - SHOP_INFO_PRICE, - SHOP_INFO_DISABLED, - SHOP_INFO_NORMAL, - SHOP_INFO_ADMIN, - BUY_SELL_DISABLED, - BUY_SUCCESS, - BUY_SUCCESS_ADMIN, - SELL_SUCCESS, - SELL_SUCCESS_ADMIN, - SOMEONE_BOUGHT, - SOMEONE_SOLD, - REVENUE_WHILE_OFFLINE, - NOT_ENOUGH_INVENTORY_SPACE, - CHEST_NOT_ENOUGH_INVENTORY_SPACE, - NOT_ENOUGH_MONEY, - NOT_ENOUGH_ITEMS, - VENDOR_NOT_ENOUGH_MONEY, - OUT_OF_STOCK, - VENDOR_OUT_OF_STOCK, - ERROR_OCCURRED, - AMOUNT_PRICE_NOT_NUMBER, - AMOUNT_IS_ZERO, - PRICES_CONTAIN_DECIMALS, - NO_ITEM_IN_HAND, - CLICK_CHEST_CREATE, - CLICK_CHEST_REMOVE, - CLICK_CHEST_INFO, - CLICK_CHEST_OPEN, - CLICK_TO_CONFIRM, - OPENED_SHOP, - CANNOT_BREAK_SHOP, - CANNOT_SELL_BROKEN_ITEM, - BUY_PRICE_TOO_LOW, - SELL_PRICE_TOO_LOW, - BUY_PRICE_TOO_HIGH, - SELL_PRICE_TOO_HIGH, - BUYING_DISABLED, - SELLING_DISABLED, - RELOADED_SHOPS, - SHOP_LIMIT_REACHED, - OCCUPIED_SHOP_SLOTS, - CANNOT_SELL_ITEM, - USE_IN_CREATIVE, - SELECT_ITEM, - ITEM_SELECTED, - CREATION_CANCELLED, - UPDATE_AVAILABLE, - UPDATE_CLICK_TO_DOWNLOAD, - UPDATE_NO_UPDATE, - UPDATE_CHECKING, - UPDATE_ERROR, - NO_PERMISSION_CREATE, - NO_PERMISSION_CREATE_ADMIN, - NO_PERMISSION_CREATE_PROTECTED, - NO_PERMISSION_OPEN_OTHERS, - NO_PERMISSION_BUY, - NO_PERMISSION_SELL, - NO_PERMISSION_BUY_HERE, - NO_PERMISSION_SELL_HERE, - NO_PERMISSION_REMOVE_OTHERS, - NO_PERMISSION_REMOVE_ADMIN, - NO_PERMISSION_RELOAD, - NO_PERMISSION_UPDATE, - NO_PERMISSION_CONFIG, - NO_PERMISSION_EXTEND_OTHERS, - NO_PERMISSION_EXTEND_PROTECTED, - COMMAND_DESC_HEADER, - COMMAND_DESC_FOOTER, - COMMAND_DESC_CREATE, - COMMAND_DESC_CREATE_ADMIN, - COMMAND_DESC_REMOVE, - COMMAND_DESC_INFO, - COMMAND_DESC_REMOVEALL, - COMMAND_DESC_RELOAD, - COMMAND_DESC_UPDATE, - COMMAND_DESC_LIMITS, - COMMAND_DESC_OPEN, - COMMAND_DESC_CONFIG, - CHANGED_CONFIG_SET, - CHANGED_CONFIG_REMOVED, - CHANGED_CONFIG_ADDED -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/MusicDiscName.java b/implementation/src/main/java/de/epiceric/shopchest/language/MusicDiscName.java deleted file mode 100644 index 4c2ff18..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/MusicDiscName.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.Material; - -public class MusicDiscName { - - private Material musicDiscMaterial; - private String localizedName; - - public MusicDiscName(Material musicDiscMaterial, String localizedName) { - this.musicDiscMaterial = musicDiscMaterial; - this.localizedName = localizedName; - } - - /** - * @return Localized Title of the Music Disc - */ - public String getLocalizedName() { - return localizedName; - } - - /** - * @return Material of the Music Disc - */ - public Material getMusicDiscMaterial() { - return musicDiscMaterial; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/PotionEffectName.java b/implementation/src/main/java/de/epiceric/shopchest/language/PotionEffectName.java deleted file mode 100644 index e6dbe9f..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/PotionEffectName.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.epiceric.shopchest.language; - -import org.bukkit.potion.PotionEffectType; - -public class PotionEffectName { - - private PotionEffectType effect; - private String localizedName; - - public PotionEffectName(PotionEffectType effect, String localizedName) { - this.effect = effect; - this.localizedName = localizedName; - } - - /** - * @return Potion Effect linked to the name - */ - public PotionEffectType getEffect() { - return effect; - } - - /** - * @return Localized Name of the potion effect - */ - public String getLocalizedName() { - return localizedName; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/PotionName.java b/implementation/src/main/java/de/epiceric/shopchest/language/PotionName.java deleted file mode 100644 index 9eae377..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/PotionName.java +++ /dev/null @@ -1,45 +0,0 @@ -package de.epiceric.shopchest.language; - - -import org.bukkit.potion.PotionType; - -public class PotionName { - - private String localizedName; - private PotionItemType potionItemType; - private PotionType potionType; - - public PotionName(PotionItemType potionItemType, PotionType potionType, String localizedName) { - this.potionItemType = potionItemType; - this.localizedName = localizedName; - this.potionType = potionType; - } - - /** - * @return {@link PotionItemType} linked to the Potion name - */ - public PotionItemType getPotionItemType() { - return potionItemType; - } - - /** - * @return Potion Type linked to the Potion name - */ - public PotionType getPotionType() { - return potionType; - } - - /** - * @return Localized Name of the Potion - */ - public String getLocalizedName() { - return localizedName; - } - - public enum PotionItemType { - POTION, - LINGERING_POTION, - SPLASH_POTION, - TIPPED_ARROW - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/language/Replacement.java b/implementation/src/main/java/de/epiceric/shopchest/language/Replacement.java deleted file mode 100644 index 9eb4591..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/language/Replacement.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.epiceric.shopchest.language; - -import de.epiceric.shopchest.config.Placeholder; - -public class Replacement { - - private Placeholder placeholder; - private String replacement; - - public Replacement(Placeholder placeholder, Object replacement) { - this.placeholder = placeholder; - this.replacement = String.valueOf(replacement); - } - - /** - * @return String which will replace the placeholder - */ - public String getReplacement() { - return replacement; - } - - /** - * @return Placeholder that will be replaced - */ - public Placeholder getPlaceholder() { - return placeholder; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/AreaShopListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/AreaShopListener.java deleted file mode 100644 index f841f1e..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/AreaShopListener.java +++ /dev/null @@ -1,68 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.shop.Shop; -import me.wiefferink.areashop.events.notify.DeletedRegionEvent; -import me.wiefferink.areashop.events.notify.ResoldRegionEvent; -import me.wiefferink.areashop.events.notify.SoldRegionEvent; -import me.wiefferink.areashop.events.notify.UnrentedRegionEvent; -import me.wiefferink.areashop.regions.GeneralRegion; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.codemc.worldguardwrapper.WorldGuardWrapper; -import org.codemc.worldguardwrapper.region.IWrappedRegion; - -public class AreaShopListener implements Listener { - - private ShopChest plugin; - - public AreaShopListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler - public void onRegionDeleted(DeletedRegionEvent e) { - if (Config.enableAreaShopIntegration && Config.areashopRemoveShopEvents.contains("DELETE")) { - removeShopsInRegion(e.getRegion()); - } - } - - @EventHandler - public void onRegionUnrented(UnrentedRegionEvent e) { - if (Config.enableAreaShopIntegration && Config.areashopRemoveShopEvents.contains("UNRENT")) { - removeShopsInRegion(e.getRegion()); - } - } - - @EventHandler - public void onRegionResold(ResoldRegionEvent e) { - if (Config.enableAreaShopIntegration && Config.areashopRemoveShopEvents.contains("RESELL")) { - removeShopsInRegion(e.getRegion()); - } - } - - @EventHandler - public void onRegionSold(SoldRegionEvent e) { - if (Config.enableAreaShopIntegration && Config.areashopRemoveShopEvents.contains("SELL")) { - removeShopsInRegion(e.getRegion()); - } - } - - private void removeShopsInRegion(GeneralRegion generalRegion) { - if (!plugin.hasWorldGuard()) return; - - for (Shop shop : plugin.getShopUtils().getShopsCopy()) { - if (!shop.getLocation().getWorld().getName().equals(generalRegion.getWorldName())) continue; - - for (IWrappedRegion r : WorldGuardWrapper.getInstance().getRegions(shop.getLocation())) { - if (generalRegion.getLowerCaseName().equals(r.getId())) { - plugin.getShopUtils().removeShopById(shop.getID(), true); - break; - } - } - } - - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/BlockExplodeListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/BlockExplodeListener.java deleted file mode 100644 index cdae016..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/BlockExplodeListener.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import de.epiceric.shopchest.ShopChest; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockExplodeEvent; - -import java.util.ArrayList; - -public class BlockExplodeListener implements Listener { - - private ShopChest plugin; - - public BlockExplodeListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler - public void onBlockExplode(BlockExplodeEvent e) { - ArrayList bl = new ArrayList<>(e.blockList()); - for (Block b : bl) { - if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) { - if (plugin.getShopUtils().isShop(b.getLocation())) e.blockList().remove(b); - } - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java deleted file mode 100644 index bbe7030..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java +++ /dev/null @@ -1,248 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.event.ShopExtendEvent; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.shop.Shop.ShopType; -import de.epiceric.shopchest.utils.Callback; -import de.epiceric.shopchest.utils.ItemUtils; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.ShopUtils; -import de.epiceric.shopchest.utils.Utils; -import net.milkbowl.vault.economy.EconomyResponse; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.Chest; -import org.bukkit.block.DoubleChest; -import org.bukkit.block.data.type.Chest.Type; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.event.inventory.InventoryMoveItemEvent; -import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.InventoryHolder; - -import java.util.ArrayList; - -public class ChestProtectListener implements Listener { - - private ShopChest plugin; - private ShopUtils shopUtils; - - public ChestProtectListener(ShopChest plugin) { - this.plugin = plugin; - this.shopUtils = plugin.getShopUtils(); - } - - private void remove(final Shop shop, final Block b, final Player p) { - if (shop.getInventoryHolder() instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) shop.getInventoryHolder(); - final Chest l = (Chest) dc.getLeftSide(); - final Chest r = (Chest) dc.getRightSide(); - - Location loc = (b.getLocation().equals(l.getLocation()) ? r.getLocation() : l.getLocation()); - final Shop newShop = new Shop(shop.getID(), plugin, shop.getVendor(), shop.getProduct(), loc, shop.getBuyPrice(), shop.getSellPrice(), shop.getShopType()); - - shopUtils.removeShop(shop, true, new Callback(plugin) { - @Override - public void onResult(Void result) { - newShop.create(true); - shopUtils.addShop(newShop, true); - } - }); - } else { - double creationPrice = shop.getShopType() == ShopType.ADMIN ? Config.shopCreationPriceAdmin : Config.shopCreationPriceNormal; - if (creationPrice > 0 && Config.refundShopCreation && p.getUniqueId().equals(shop.getVendor().getUniqueId())) { - EconomyResponse r = plugin.getEconomy().depositPlayer(p, shop.getLocation().getWorld().getName(), creationPrice); - if (!r.transactionSuccess()) { - plugin.debug("Economy transaction failed: " + r.errorMessage); - p.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, - new Replacement(Placeholder.ERROR, r.errorMessage))); - p.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED_REFUND, - new Replacement(Placeholder.CREATION_PRICE, 0))); - } else { - p.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED_REFUND, - new Replacement(Placeholder.CREATION_PRICE, creationPrice))); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED)); - } - - shopUtils.removeShop(shop, true); - plugin.debug(String.format("%s broke %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID())); - } - } - - @EventHandler(ignoreCancelled = true) - public void onBlockBreak(BlockBreakEvent e) { - final Block b = e.getBlock(); - - if (shopUtils.isShop(b.getLocation())) { - final Shop shop = shopUtils.getShop(e.getBlock().getLocation()); - Player p = e.getPlayer(); - - if (p.isSneaking() && Utils.hasAxeInHand(p)) { - plugin.debug(String.format("%s tries to break %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID())); - - if (shop.getShopType() == Shop.ShopType.ADMIN) { - if (p.hasPermission(Permissions.REMOVE_ADMIN)) { - remove(shop, b, p); - return; - } - } else { - if (shop.getVendor().getUniqueId().equals(p.getUniqueId()) || p.hasPermission(Permissions.REMOVE_OTHER)) { - remove(shop, b, p); - return; - } - } - } - - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(p); - } - - e.setCancelled(true); - e.getPlayer().sendMessage(LanguageUtils.getMessage(Message.CANNOT_BREAK_SHOP)); - } - } - - @EventHandler(ignoreCancelled = true) - public void onEntityExplode(EntityExplodeEvent e) { - ArrayList bl = new ArrayList<>(e.blockList()); - for (Block b : bl) { - if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) { - if (shopUtils.isShop(b.getLocation())) e.blockList().remove(b); - } - } - } - - @EventHandler(ignoreCancelled = true) - public void onBlockPlace(BlockPlaceEvent e) { - final Player p = e.getPlayer(); - final Block b = e.getBlockPlaced(); - - if (!b.getType().equals(Material.CHEST) && !b.getType().equals(Material.TRAPPED_CHEST)) { - return; - } - - Chest c = (Chest) b.getState(); - Block b2; - - // Can't use Utils::getChestLocations since inventory holder - // has not been updated yet in this event (for 1.13+) - - if (Utils.getMajorVersion() < 13) { - InventoryHolder ih = c.getInventory().getHolder(); - if (!(ih instanceof DoubleChest)) { - return; - } - - DoubleChest dc = (DoubleChest) ih; - Chest l = (Chest) dc.getLeftSide(); - Chest r = (Chest) dc.getRightSide(); - - if (b.getLocation().equals(l.getLocation())) { - b2 = r.getBlock(); - } else { - b2 = l.getBlock(); - } - } else { - org.bukkit.block.data.type.Chest data = (org.bukkit.block.data.type.Chest) c.getBlockData(); - - if (data.getType() == Type.SINGLE) { - return; - } - - BlockFace neighborFacing; - - switch (data.getFacing()) { - case NORTH: - neighborFacing = data.getType() == Type.LEFT ? BlockFace.EAST : BlockFace.WEST; - break; - case EAST: - neighborFacing = data.getType() == Type.LEFT ? BlockFace.SOUTH : BlockFace.NORTH; - break; - case SOUTH: - neighborFacing = data.getType() == Type.LEFT ? BlockFace.WEST : BlockFace.EAST; - break; - case WEST: - neighborFacing = data.getType() == Type.LEFT ? BlockFace.NORTH : BlockFace.SOUTH; - break; - default: - neighborFacing = null; - } - - b2 = b.getRelative(neighborFacing); - } - - final Shop shop = shopUtils.getShop(b2.getLocation()); - if (shop == null) - return; - - plugin.debug(String.format("%s tries to extend %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID())); - - ShopExtendEvent event = new ShopExtendEvent(p, shop, b.getLocation()); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled() && !p.hasPermission(Permissions.EXTEND_PROTECTED)) { - e.setCancelled(true); - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_EXTEND_PROTECTED)); - return; - } - - if (!p.getUniqueId().equals(shop.getVendor().getUniqueId()) && !p.hasPermission(Permissions.EXTEND_OTHER)) { - e.setCancelled(true); - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_EXTEND_OTHERS)); - return; - } - - if (!ItemUtils.isAir(b.getRelative(BlockFace.UP).getType())) { - e.setCancelled(true); - p.sendMessage(LanguageUtils.getMessage(Message.CHEST_BLOCKED)); - return; - } - - final Shop newShop = new Shop(shop.getID(), plugin, shop.getVendor(), shop.getProduct(), shop.getLocation(), shop.getBuyPrice(), shop.getSellPrice(), shop.getShopType()); - - shopUtils.removeShop(shop, true, new Callback(plugin) { - @Override - public void onResult(Void result) { - newShop.create(true); - shopUtils.addShop(newShop, true); - plugin.debug(String.format("%s extended %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID())); - } - }); - } - - @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) - public void onItemMove(InventoryMoveItemEvent e) { - if ((e.getSource().getType().equals(InventoryType.CHEST)) && (!e.getInitiator().getType().equals(InventoryType.PLAYER))) { - - if (e.getSource().getHolder() instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) e.getSource().getHolder(); - Chest r = (Chest) dc.getRightSide(); - Chest l = (Chest) dc.getLeftSide(); - - if (shopUtils.isShop(r.getLocation()) || shopUtils.isShop(l.getLocation())) e.setCancelled(true); - - } else if (e.getSource().getHolder() instanceof Chest) { - Chest c = (Chest) e.getSource().getHolder(); - - if (shopUtils.isShop(c.getLocation())) e.setCancelled(true); - } - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/CreativeModeListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/CreativeModeListener.java deleted file mode 100644 index 8f33887..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/CreativeModeListener.java +++ /dev/null @@ -1,179 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import org.bukkit.Material; -import org.bukkit.entity.Entity; -import org.bukkit.entity.HumanEntity; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockMultiPlaceEvent; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.inventory.InventoryDragEvent; -import org.bukkit.event.inventory.InventoryMoveItemEvent; -import org.bukkit.event.player.PlayerInteractAtEntityEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.utils.ClickType; -import de.epiceric.shopchest.utils.ClickType.SelectClickType; - -public class CreativeModeListener implements Listener { - private ShopChest plugin; - - public CreativeModeListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onInventoryClick(InventoryClickEvent e) { - HumanEntity entity = e.getWhoClicked(); - if (!(entity instanceof Player)) - return; - - Player p = (Player) entity; - - ClickType clickType = ClickType.getPlayerClickType(p); - if (clickType instanceof SelectClickType) { - e.setCancelled(true); - - if (e.getCursor() == null || e.getCursor().getType() == Material.AIR) - return; - - ClickType.removePlayerClickType(p); - ((SelectClickType) clickType).setItem(e.getCursor()); - p.closeInventory(); - - p.sendMessage(LanguageUtils.getMessage(Message.ITEM_SELECTED, - new Replacement(Placeholder.ITEM_NAME, LanguageUtils.getItemName(e.getCursor())))); - plugin.getShopCommand().createShopAfterSelected(p, (SelectClickType) clickType); - } - } - - @EventHandler - public void onPlayerCloseInventory(InventoryCloseEvent e) { - HumanEntity entity = e.getPlayer(); - if (!(entity instanceof Player)) - return; - - Player p = (Player) entity; - - ClickType clickType = ClickType.getPlayerClickType(p); - if (!(clickType instanceof SelectClickType)) - return; - - ClickType.removePlayerClickType(p); - p.sendMessage(LanguageUtils.getMessage(Message.CREATION_CANCELLED)); - } - - @EventHandler - public void onPlayerQuit(PlayerQuitEvent e) { - // Reset game mode on quit if SelectClickType is set - Player p = e.getPlayer(); - ClickType.removePlayerClickType(p); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onInventoryDrag(InventoryDragEvent e) { - // Cancel any inventory drags if SelectClickType is set - HumanEntity entity = e.getWhoClicked(); - if (!(entity instanceof Player)) - return; - - ClickType clickType = ClickType.getPlayerClickType((Player) entity); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onInventoryMove(InventoryMoveItemEvent e) { - // Cancel any inventory movement if SelectClickType is set - if (e.getSource().getHolder() instanceof Player) { - Player p = (Player) e.getSource().getHolder(); - - ClickType clickType = ClickType.getPlayerClickType(p); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerPickup(PlayerPickupItemEvent e) { - // Cancel any item pickups if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockBreak(BlockBreakEvent e) { - // Cancel any block breaks if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockPlace(BlockPlaceEvent e) { - // Cancel any block places if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockMultiPlace(BlockMultiPlaceEvent e) { - // Cancel any block places if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerInteract(PlayerInteractEvent e) { - // Cancel any interactions if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent e) { - // Cancel any entity interactions if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerDamageEntity(EntityDamageByEntityEvent e) { - // Cancel any entity damaging if SelectClickType is set - Entity entity = e.getDamager(); - if (!(entity instanceof Player)) - return; - - ClickType clickType = ClickType.getPlayerClickType((Player) entity); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerMove(PlayerMoveEvent e) { - // Cancel any player movement if SelectClickType is set - ClickType clickType = ClickType.getPlayerClickType(e.getPlayer()); - if (clickType instanceof SelectClickType) - e.setCancelled(true); - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/NotifyPlayerOnJoinListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/NotifyPlayerOnJoinListener.java deleted file mode 100644 index eab4345..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/NotifyPlayerOnJoinListener.java +++ /dev/null @@ -1,63 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.utils.Callback; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.Utils; - -public class NotifyPlayerOnJoinListener implements Listener { - - private ShopChest plugin; - - public NotifyPlayerOnJoinListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent e) { - final Player p = e.getPlayer(); - - if (plugin.isUpdateNeeded() && Config.enableUpdateChecker) { - if (p.hasPermission(Permissions.UPDATE_NOTIFICATION)) { - Utils.sendUpdateMessage(plugin, p); - } - } - - plugin.getShopDatabase().getLastLogout(p, new Callback(plugin) { - @Override - public void onResult(Long result) { - if (result < 0) { - // No logout saved, probably first time joining. - return; - } - - plugin.getShopDatabase().getRevenue(p, result, new Callback(plugin) { - @Override - public void onResult(Double result) { - if (result != 0) { - p.sendMessage(LanguageUtils.getMessage(Message.REVENUE_WHILE_OFFLINE, - new Replacement(Placeholder.REVENUE, String.valueOf(result)))); - } - } - }); - } - }); - } - - @EventHandler - public void onPlayerQuit(PlayerQuitEvent e) { - plugin.getShopDatabase().logLogout(e.getPlayer(), null); - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java deleted file mode 100644 index 32275c0..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java +++ /dev/null @@ -1,1158 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.google.gson.JsonPrimitive; -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.event.ShopBuySellEvent; -import de.epiceric.shopchest.event.ShopCreateEvent; -import de.epiceric.shopchest.event.ShopInfoEvent; -import de.epiceric.shopchest.event.ShopOpenEvent; -import de.epiceric.shopchest.event.ShopRemoveEvent; -import de.epiceric.shopchest.external.PlotSquaredShopFlag; -import de.epiceric.shopchest.external.PlotSquaredShopFlag.GroupFlag; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.nms.JsonBuilder; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.shop.ShopProduct; -import de.epiceric.shopchest.shop.Shop.ShopType; -import de.epiceric.shopchest.sql.Database; -import de.epiceric.shopchest.utils.ClickType; -import de.epiceric.shopchest.utils.ItemUtils; -import de.epiceric.shopchest.utils.Permissions; -import de.epiceric.shopchest.utils.ShopUtils; -import de.epiceric.shopchest.utils.Utils; -import de.epiceric.shopchest.utils.ClickType.CreateClickType; -import fr.xephi.authme.api.v3.AuthMeApi; -import net.milkbowl.vault.economy.Economy; -import net.milkbowl.vault.economy.EconomyResponse; - -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.Chest; -import org.bukkit.block.DoubleChest; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.Action; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.EquipmentSlot; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.PlayerInventory; -import org.bukkit.scheduler.BukkitRunnable; -import org.codemc.worldguardwrapper.WorldGuardWrapper; -import org.codemc.worldguardwrapper.flag.IWrappedFlag; -import org.codemc.worldguardwrapper.flag.WrappedState; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.UUID; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class ShopInteractListener implements Listener { - private static final Pattern COLOR_CODE_PATTERN = Pattern.compile(".*([§]([a-fA-F0-9]))"); - private static final Pattern FORMAT_CODE_PATTERN = Pattern.compile(".*([§]([l-oL-OkK]))"); - - private ShopChest plugin; - private Economy econ; - private Database database; - private ShopUtils shopUtils; - - public ShopInteractListener(ShopChest plugin) { - this.plugin = plugin; - this.econ = plugin.getEconomy(); - this.database = plugin.getShopDatabase(); - this.shopUtils = plugin.getShopUtils(); - } - - @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) - public void onInventoryClick(InventoryClickEvent e) { - if (!plugin.getHologramFormat().isDynamic()) return; - - Inventory chestInv = e.getInventory(); - - if (!(chestInv.getHolder() instanceof Chest || chestInv.getHolder() instanceof DoubleChest)) { - return; - } - - Location loc = null; - if (chestInv.getHolder() instanceof Chest) { - loc = ((Chest) chestInv.getHolder()).getLocation(); - } else if (chestInv.getHolder() instanceof DoubleChest) { - loc = ((DoubleChest) chestInv.getHolder()).getLocation(); - } - - final Shop shop = plugin.getShopUtils().getShop(loc); - if (shop == null) return; - - new BukkitRunnable() { - @Override - public void run() { - shop.updateHologramText(); - } - }.runTaskLater(plugin, 1L); - } - - @EventHandler(priority = EventPriority.HIGH) - public void onPlayerInteractCreate(PlayerInteractEvent e) { - Player p = e.getPlayer(); - Block b = e.getClickedBlock(); - - if (e.getAction() != Action.RIGHT_CLICK_BLOCK) - return; - - if (!(ClickType.getPlayerClickType(p) instanceof CreateClickType)) - return; - - if (b.getType() != Material.CHEST && b.getType() != Material.TRAPPED_CHEST) - return; - - if (ClickType.getPlayerClickType(p).getClickType() != ClickType.EnumClickType.CREATE) - return; - - if (Config.enableAuthMeIntegration && plugin.hasAuthMe() && !AuthMeApi.getInstance().isAuthenticated(p)) - return; - - if (e.isCancelled() && !p.hasPermission(Permissions.CREATE_PROTECTED)) { - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CREATE_PROTECTED)); - plugin.debug(p.getName() + " is not allowed to create a shop on the selected chest"); - } else if (shopUtils.isShop(b.getLocation())) { - p.sendMessage(LanguageUtils.getMessage(Message.CHEST_ALREADY_SHOP)); - plugin.debug("Chest is already a shop"); - } else if (!ItemUtils.isAir(b.getRelative(BlockFace.UP).getType())) { - p.sendMessage(LanguageUtils.getMessage(Message.CHEST_BLOCKED)); - plugin.debug("Chest is blocked"); - } else { - CreateClickType clickType = (CreateClickType) ClickType.getPlayerClickType(p); - ShopProduct product = clickType.getProduct(); - double buyPrice = clickType.getBuyPrice(); - double sellPrice = clickType.getSellPrice(); - ShopType shopType = clickType.getShopType(); - - create(p, b.getLocation(), product, buyPrice, sellPrice, shopType); - } - - e.setCancelled(true); - ClickType.removePlayerClickType(p); - } - - private Map> needsConfirmation = new HashMap<>(); - - private void handleInteractEvent(PlayerInteractEvent e) { - Block b = e.getClickedBlock(); - Player p = e.getPlayer(); - boolean inverted = Config.invertMouseButtons; - - if (Utils.getMajorVersion() >= 9 && e.getHand() == EquipmentSlot.OFF_HAND) - return; - - if (e.getAction() != Action.RIGHT_CLICK_BLOCK && e.getAction() != Action.LEFT_CLICK_BLOCK) - return; - - if (b.getType() != Material.CHEST && b.getType() != Material.TRAPPED_CHEST) - return; - - ClickType clickType = ClickType.getPlayerClickType(p); - if (clickType != null) { - if (e.getAction() != Action.RIGHT_CLICK_BLOCK) - return; - - Shop shop = shopUtils.getShop(b.getLocation()); - switch (clickType.getClickType()) { - case CREATE: - case SELECT_ITEM: - break; - default: - if (shop == null) { - p.sendMessage(LanguageUtils.getMessage(Message.CHEST_NO_SHOP)); - plugin.debug("Chest is not a shop"); - return; - } - } - - switch (clickType.getClickType()) { - case INFO: - info(p, shop); - break; - case REMOVE: - remove(p, shop); - break; - case OPEN: - open(p, shop, true); - break; - default: return; - } - - e.setCancelled(true); - ClickType.removePlayerClickType(p); - } else { - Shop shop = shopUtils.getShop(b.getLocation()); - - if (shop == null) - return; - - boolean confirmed = needsConfirmation.containsKey(p.getUniqueId()) && needsConfirmation.get(p.getUniqueId()).contains(shop.getID()); - - if (e.getAction() == Action.LEFT_CLICK_BLOCK && p.isSneaking() && Utils.hasAxeInHand(p)) { - return; - } - - ItemStack infoItem = Config.shopInfoItem; - if (infoItem != null) { - if (e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.LEFT_CLICK_BLOCK) { - ItemStack item = Utils.getItemInMainHand(p); - - if (item == null || !(infoItem.getType() == item.getType() && infoItem.getDurability() == item.getDurability())) { - item = Utils.getItemInOffHand(p); - - if (item != null && infoItem.getType() == item.getType() && infoItem.getDurability() == item.getDurability()) { - e.setCancelled(true); - info(p, shop); - return; - } - } else { - e.setCancelled(true); - info(p, shop); - return; - } - } - } - - if (e.getAction() == Action.RIGHT_CLICK_BLOCK && p.getUniqueId().equals(shop.getVendor().getUniqueId()) && shop.getShopType() != ShopType.ADMIN) { - return; - } - - if (p.getGameMode() == GameMode.CREATIVE) { - e.setCancelled(true); - p.sendMessage(LanguageUtils.getMessage(Message.USE_IN_CREATIVE)); - return; - } - - if ((e.getAction() == Action.RIGHT_CLICK_BLOCK && !inverted) || (e.getAction() == Action.LEFT_CLICK_BLOCK && inverted)) { - e.setCancelled(true); - - if (shop.getShopType() == ShopType.ADMIN || !shop.getVendor().getUniqueId().equals(p.getUniqueId())) { - plugin.debug(p.getName() + " wants to buy"); - - if (shop.getBuyPrice() > 0) { - if (p.hasPermission(Permissions.BUY)) { - // TODO: Outsource shop use external permission - boolean externalPluginsAllowed = true; - - if (plugin.hasPlotSquared() && Config.enablePlotsquaredIntegration) { - com.github.intellectualsites.plotsquared.plot.object.Location plotLocation = - new com.github.intellectualsites.plotsquared.plot.object.Location(b.getWorld().getName(), b.getX(), b.getY(), b.getZ()); - - Plot plot = plotLocation.getOwnedPlot(); - GroupFlag flag = shop.getShopType() == Shop.ShopType.ADMIN ? PlotSquaredShopFlag.USE_ADMIN_SHOP : PlotSquaredShopFlag.USE_SHOP; - - externalPluginsAllowed = PlotSquaredShopFlag.isFlagAllowedOnPlot(plot, flag, p); - } - - if (externalPluginsAllowed && plugin.hasWorldGuard() && Config.enableWorldGuardIntegration) { - String flagName = (shop.getShopType() == ShopType.ADMIN ? "use-admin-shop" : "use-shop"); - WorldGuardWrapper wgWrapper = WorldGuardWrapper.getInstance(); - Optional> flag = wgWrapper.getFlag(flagName, WrappedState.class); - if (!flag.isPresent()) plugin.debug("WorldGuard flag '" + flagName + "' is not present!"); - WrappedState state = flag.map(f -> wgWrapper.queryFlag(p, b.getLocation(), f).orElse(WrappedState.DENY)).orElse(WrappedState.DENY); - externalPluginsAllowed = state == WrappedState.ALLOW; - } - - if (shop.getShopType() == ShopType.ADMIN) { - if (externalPluginsAllowed || p.hasPermission(Permissions.BYPASS_EXTERNAL_PLUGIN)) { - if (confirmed || !Config.confirmShopping) { - buy(p, shop, p.isSneaking()); - if (Config.confirmShopping) { - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.remove(shop.getID()); - if (ids.isEmpty()) needsConfirmation.remove(p.getUniqueId()); - else needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug("Needs confirmation"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_TO_CONFIRM)); - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.add(shop.getID()); - needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug(p.getName() + " doesn't have external plugin's permission"); - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_BUY_HERE)); - } - } else { - if (externalPluginsAllowed || p.hasPermission(Permissions.BYPASS_EXTERNAL_PLUGIN)) { - Chest c = (Chest) b.getState(); - ItemStack itemStack = shop.getProduct().getItemStack(); - int amount = (p.isSneaking() ? itemStack.getMaxStackSize() : shop.getProduct().getAmount()); - - if (Utils.getAmount(c.getInventory(), itemStack) >= amount) { - if (confirmed || !Config.confirmShopping) { - buy(p, shop, p.isSneaking()); - if (Config.confirmShopping) { - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.remove(shop.getID()); - if (ids.isEmpty()) needsConfirmation.remove(p.getUniqueId()); - else needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug("Needs confirmation"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_TO_CONFIRM)); - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.add(shop.getID()); - needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - if (Config.autoCalculateItemAmount && Utils.getAmount(c.getInventory(), itemStack) > 0) { - if (confirmed || !Config.confirmShopping) { - buy(p, shop, p.isSneaking()); - if (Config.confirmShopping) { - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.remove(shop.getID()); - if (ids.isEmpty()) needsConfirmation.remove(p.getUniqueId()); - else needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug("Needs confirmation"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_TO_CONFIRM)); - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.add(shop.getID()); - needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.OUT_OF_STOCK)); - if (shop.getVendor().isOnline() && Config.enableVendorMessages) { - shop.getVendor().getPlayer().sendMessage(LanguageUtils.getMessage(Message.VENDOR_OUT_OF_STOCK, - new Replacement(Placeholder.AMOUNT, String.valueOf(shop.getProduct().getAmount())), - new Replacement(Placeholder.ITEM_NAME, shop.getProduct().getLocalizedName()))); - } - plugin.debug("Shop is out of stock"); - } - } - } else { - plugin.debug(p.getName() + " doesn't have external plugin's permission"); - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_BUY_HERE)); - } - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_BUY)); - plugin.debug(p.getName() + " is not permitted to buy"); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.BUYING_DISABLED)); - plugin.debug("Buying is disabled"); - } - } - - } else if ((e.getAction() == Action.LEFT_CLICK_BLOCK && !inverted) || (e.getAction() == Action.RIGHT_CLICK_BLOCK && inverted)) { - e.setCancelled(true); - - if ((shop.getShopType() == ShopType.ADMIN) || (!shop.getVendor().getUniqueId().equals(p.getUniqueId()))) { - plugin.debug(p.getName() + " wants to sell"); - - if (shop.getSellPrice() > 0) { - if (p.hasPermission(Permissions.SELL)) { - // TODO: Outsource shop use external permission - boolean externalPluginsAllowed = true; - - if (plugin.hasPlotSquared() && Config.enablePlotsquaredIntegration) { - com.github.intellectualsites.plotsquared.plot.object.Location plotLocation = - new com.github.intellectualsites.plotsquared.plot.object.Location(b.getWorld().getName(), b.getX(), b.getY(), b.getZ()); - - Plot plot = plotLocation.getOwnedPlot(); - GroupFlag flag = shop.getShopType() == Shop.ShopType.ADMIN ? PlotSquaredShopFlag.USE_ADMIN_SHOP : PlotSquaredShopFlag.USE_SHOP; - - externalPluginsAllowed = PlotSquaredShopFlag.isFlagAllowedOnPlot(plot, flag, p); - } - - if (externalPluginsAllowed && plugin.hasWorldGuard() && Config.enableWorldGuardIntegration) { - String flagName = (shop.getShopType() == ShopType.ADMIN ? "use-admin-shop" : "use-shop"); - WorldGuardWrapper wgWrapper = WorldGuardWrapper.getInstance(); - Optional> flag = wgWrapper.getFlag(flagName, WrappedState.class); - if (!flag.isPresent()) plugin.debug("WorldGuard flag '" + flagName + "' is not present!"); - WrappedState state = flag.map(f -> wgWrapper.queryFlag(p, b.getLocation(), f).orElse(WrappedState.DENY)).orElse(WrappedState.DENY); - externalPluginsAllowed = state == WrappedState.ALLOW; - } - - ItemStack itemStack = shop.getProduct().getItemStack(); - - if (externalPluginsAllowed || p.hasPermission(Permissions.BYPASS_EXTERNAL_PLUGIN)) { - boolean stack = p.isSneaking() && !Utils.hasAxeInHand(p); - int amount = stack ? itemStack.getMaxStackSize() : shop.getProduct().getAmount(); - - if (Utils.getAmount(p.getInventory(), itemStack) >= amount) { - if (confirmed || !Config.confirmShopping) { - sell(p, shop, stack); - if (Config.confirmShopping) { - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.remove(shop.getID()); - if (ids.isEmpty()) needsConfirmation.remove(p.getUniqueId()); - else needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug("Needs confirmation"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_TO_CONFIRM)); - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.add(shop.getID()); - needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - if (Config.autoCalculateItemAmount && Utils.getAmount(p.getInventory(), itemStack) > 0) { - if (confirmed || !Config.confirmShopping) { - sell(p, shop, stack); - if (Config.confirmShopping) { - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.remove(shop.getID()); - if (ids.isEmpty()) needsConfirmation.remove(p.getUniqueId()); - else needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - plugin.debug("Needs confirmation"); - p.sendMessage(LanguageUtils.getMessage(Message.CLICK_TO_CONFIRM)); - Set ids = needsConfirmation.containsKey(p.getUniqueId()) ? needsConfirmation.get(p.getUniqueId()) : new HashSet(); - ids.add(shop.getID()); - needsConfirmation.put(p.getUniqueId(), ids); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_ITEMS)); - plugin.debug(p.getName() + " doesn't have enough items"); - } - } - } else { - plugin.debug(p.getName() + " doesn't have external plugin's permission"); - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_SELL_HERE)); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_SELL)); - plugin.debug(p.getName() + " is not permitted to sell"); - } - } else { - p.sendMessage(LanguageUtils.getMessage(Message.SELLING_DISABLED)); - plugin.debug("Selling is disabled"); - } - } - } - } - } - - @EventHandler - public void onPlayerInteract(PlayerInteractEvent e) { - if (Config.enableAuthMeIntegration && plugin.hasAuthMe() && !AuthMeApi.getInstance().isAuthenticated(e.getPlayer())) return; - handleInteractEvent(e); - } - - /** - * Create a new shop - * - * @param executor Player, who executed the command, will receive the message and become the vendor of the shop - * @param location Where the shop will be located - * @param product Product of the Shop - * @param buyPrice Buy price - * @param sellPrice Sell price - * @param shopType Type of the shop - */ - private void create(final Player executor, final Location location, final ShopProduct product, final double buyPrice, final double sellPrice, final ShopType shopType) { - plugin.debug(executor.getName() + " is creating new shop..."); - - if (!executor.hasPermission(Permissions.CREATE)) { - executor.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CREATE)); - plugin.debug(executor.getName() + " is not permitted to create the shop"); - return; - } - - double creationPrice = (shopType == ShopType.NORMAL) ? Config.shopCreationPriceNormal : Config.shopCreationPriceAdmin; - Shop shop = new Shop(plugin, executor, product, location, buyPrice, sellPrice, shopType); - - ShopCreateEvent event = new ShopCreateEvent(executor, shop, creationPrice); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled() && !executor.hasPermission(Permissions.CREATE_PROTECTED)) { - plugin.debug("Create event cancelled"); - executor.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_CREATE_PROTECTED)); - return; - } - - EconomyResponse r = plugin.getEconomy().withdrawPlayer(executor, location.getWorld().getName(), creationPrice); - if (!r.transactionSuccess()) { - plugin.debug("Economy transaction failed: " + r.errorMessage); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, new Replacement(Placeholder.ERROR, r.errorMessage))); - return; - } - - shop.create(true); - - plugin.debug("Shop created"); - shopUtils.addShop(shop, true); - - Message message = shopType == ShopType.ADMIN ? Message.ADMIN_SHOP_CREATED : Message.SHOP_CREATED; - executor.sendMessage(LanguageUtils.getMessage(message, new Replacement(Placeholder.CREATION_PRICE, creationPrice))); - } - - /** - * Remove a shop - * @param executor Player, who executed the command and will receive the message - * @param shop Shop to be removed - */ - private void remove(Player executor, Shop shop) { - if (shop.getShopType() == ShopType.ADMIN && !executor.hasPermission(Permissions.REMOVE_ADMIN)) { - executor.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_REMOVE_ADMIN)); - return; - } - - if (shop.getShopType() == ShopType.NORMAL && !executor.getUniqueId().equals(shop.getVendor().getUniqueId()) - && !executor.hasPermission(Permissions.REMOVE_OTHER)) { - executor.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_REMOVE_OTHERS)); - return; - } - - plugin.debug(executor.getName() + " is removing " + shop.getVendor().getName() + "'s shop (#" + shop.getID() + ")"); - ShopRemoveEvent event = new ShopRemoveEvent(executor, shop); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()) { - plugin.debug("Remove event cancelled (#" + shop.getID() + ")"); - return; - } - - double creationPrice = shop.getShopType() == ShopType.ADMIN ? Config.shopCreationPriceAdmin : Config.shopCreationPriceNormal; - if (creationPrice > 0 && Config.refundShopCreation && executor.getUniqueId().equals(shop.getVendor().getUniqueId())) { - EconomyResponse r = plugin.getEconomy().depositPlayer(executor, shop.getLocation().getWorld().getName(), creationPrice); - if (!r.transactionSuccess()) { - plugin.debug("Economy transaction failed: " + r.errorMessage); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, - new Replacement(Placeholder.ERROR, r.errorMessage))); - executor.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED_REFUND, - new Replacement(Placeholder.CREATION_PRICE, 0))); - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED_REFUND, - new Replacement(Placeholder.CREATION_PRICE, creationPrice))); - } - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.SHOP_REMOVED)); - } - - shopUtils.removeShop(shop, true); - plugin.debug("Removed shop (#" + shop.getID() + ")"); - } - - /** - * Open a shop - * @param executor Player, who executed the command and will receive the message - * @param shop Shop to be opened - * @param message Whether the player should receive the {@link Message#OPENED_SHOP} message - */ - private void open(Player executor, Shop shop, boolean message) { - if (!executor.getUniqueId().equals(shop.getVendor().getUniqueId()) && !executor.hasPermission(Permissions.OPEN_OTHER)) { - executor.sendMessage(LanguageUtils.getMessage(Message.NO_PERMISSION_OPEN_OTHERS)); - return; - } - - plugin.debug(executor.getName() + " is opening " + shop.getVendor().getName() + "'s shop (#" + shop.getID() + ")"); - ShopOpenEvent event = new ShopOpenEvent(executor, shop); - Bukkit.getPluginManager().callEvent(event); - if (event.isCancelled()) { - plugin.debug("Open event cancelled (#" + shop.getID() + ")"); - return; - } - - executor.openInventory(shop.getInventoryHolder().getInventory()); - plugin.debug("Opened shop (#" + shop.getID() + ")"); - if (message) executor.sendMessage(LanguageUtils.getMessage(Message.OPENED_SHOP, - new Replacement(Placeholder.VENDOR, shop.getVendor().getName()))); - } - - /** - * - * @param executor Player, who executed the command and will retrieve the information - * @param shop Shop from which the information will be retrieved - */ - private void info(Player executor, Shop shop) { - plugin.debug(executor.getName() + " is retrieving shop info (#" + shop.getID() + ")"); - ShopInfoEvent event = new ShopInfoEvent(executor, shop); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled()) { - plugin.debug("Info event cancelled (#" + shop.getID() + ")"); - return; - } - - Chest c = (Chest) shop.getLocation().getBlock().getState(); - ItemStack itemStack = shop.getProduct().getItemStack(); - int amount = Utils.getAmount(c.getInventory(), itemStack); - int space = Utils.getFreeSpaceForItem(c.getInventory(), itemStack); - - String vendorName = (shop.getVendor().getName() == null ? - shop.getVendor().getUniqueId().toString() : shop.getVendor().getName()); - - String vendorString = LanguageUtils.getMessage(Message.SHOP_INFO_VENDOR, - new Replacement(Placeholder.VENDOR, vendorName)); - - // Make JSON message with item preview - JsonBuilder jb = getProductJson(shop.getProduct()); - - String disabled = LanguageUtils.getMessage(Message.SHOP_INFO_DISABLED); - - String priceString = LanguageUtils.getMessage(Message.SHOP_INFO_PRICE, - new Replacement(Placeholder.BUY_PRICE, (shop.getBuyPrice() > 0 ? String.valueOf(shop.getBuyPrice()) : disabled)), - new Replacement(Placeholder.SELL_PRICE, (shop.getSellPrice() > 0 ? String.valueOf(shop.getSellPrice()) : disabled))); - - String shopType = LanguageUtils.getMessage(shop.getShopType() == ShopType.NORMAL ? - Message.SHOP_INFO_NORMAL : Message.SHOP_INFO_ADMIN); - - String stock = LanguageUtils.getMessage(Message.SHOP_INFO_STOCK, - new Replacement(Placeholder.STOCK, amount)); - - String chestSpace = LanguageUtils.getMessage(Message.SHOP_INFO_CHEST_SPACE, - new Replacement(Placeholder.CHEST_SPACE, space)); - - executor.sendMessage(" "); - if (shop.getShopType() != ShopType.ADMIN) executor.sendMessage(vendorString); - jb.sendJson(executor); - if (shop.getShopType() != ShopType.ADMIN && shop.getBuyPrice() > 0) executor.sendMessage(stock); - if (shop.getShopType() != ShopType.ADMIN && shop.getSellPrice() > 0) executor.sendMessage(chestSpace); - executor.sendMessage(priceString); - executor.sendMessage(shopType); - executor.sendMessage(" "); - } - - /** - * Create a {@link JsonBuilder} containing the shop info message for the product - * in which you can hover the item name to get a preview. - * @param product The product of the shop - * @return A {@link JsonBuilder} that can send the message via {@link JsonBuilder#sendJson(Player)} - */ - private JsonBuilder getProductJson(ShopProduct product) { - // Add spaces at start and end, so there will always be a part before and after - // the item name after splitting at Placeholder.ITEM_NAME - String productString = " " + LanguageUtils.getMessage(Message.SHOP_INFO_PRODUCT, - new Replacement(Placeholder.AMOUNT, String.valueOf(product.getAmount()))) + " "; - - String[] parts = productString.split(Placeholder.ITEM_NAME.toString()); - String productName = product.getLocalizedName(); - String jsonItem = ""; - JsonBuilder jb = new JsonBuilder(plugin); - JsonBuilder.PartArray rootArray = new JsonBuilder.PartArray(); - - try { - Class craftItemStackClass = Utils.getCraftClass("inventory.CraftItemStack"); - Object nmsStack = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, product.getItemStack()); - Class nbtTagCompoundClass = Utils.getNMSClass("NBTTagCompound"); - Object nbtTagCompound = nbtTagCompoundClass.getConstructor().newInstance(); - nmsStack.getClass().getMethod("save", nbtTagCompoundClass).invoke(nmsStack, nbtTagCompound); - jsonItem = new JsonPrimitive(nbtTagCompound.toString()).toString(); - } catch (Exception e) { - plugin.getLogger().severe("Failed to create JSON from item. Product preview will not be available."); - plugin.debug("Failed to create JSON from item:"); - plugin.debug(e); - jb.setRootPart(new JsonBuilder.Part(productString.replace(Placeholder.ITEM_NAME.toString(), productName))); - return jb; - } - - for (int i = 0; i < parts.length; i++) { - String part = parts[i]; - - // Remove spaces at start and end that were added before - if (i == 0 && part.startsWith(" ")) { - part = part.substring(1); - } else if (i == parts.length - 1 && part.endsWith(" ")) { - part = part.substring(0, part.length() - 1); - } - - String formatPrefix = ""; - - // A color code resets all format codes, so only format codes - // after the last color code have to be found. - int lastColorGroupEndIndex = 0; - - Matcher colorMatcher = COLOR_CODE_PATTERN.matcher(part); - if (colorMatcher.find()) { - formatPrefix = colorMatcher.group(1); - lastColorGroupEndIndex = colorMatcher.end(); - } - - Matcher formatMatcher = FORMAT_CODE_PATTERN.matcher(part); - while (formatMatcher.find(lastColorGroupEndIndex)) { - formatPrefix += formatMatcher.group(1); - } - - rootArray.addPart(new JsonBuilder.Part(part)); - - if (i < parts.length - 1) { - JsonBuilder.PartMap hoverEvent = new JsonBuilder.PartMap(); - hoverEvent.setValue("action", new JsonBuilder.Part("show_item")); - hoverEvent.setValue("value", new JsonBuilder.Part(jsonItem, false)); - - JsonBuilder.PartMap itemNameMap = JsonBuilder.parse(formatPrefix + productName).toMap(); - itemNameMap.setValue("hoverEvent", hoverEvent); - - rootArray.addPart(itemNameMap); - } - } - - jb.setRootPart(rootArray); - return jb; - } - - /** - * A player buys from a shop - * @param executor Player, who executed the command and will buy the product - * @param shop Shop, from which the player buys - * @param stack Whether a whole stack should be bought - */ - private void buy(Player executor, final Shop shop, boolean stack) { - plugin.debug(executor.getName() + " is buying (#" + shop.getID() + ")"); - - ItemStack itemStack = shop.getProduct().getItemStack(); - int amount = shop.getProduct().getAmount(); - if (stack) amount = itemStack.getMaxStackSize(); - - String worldName = shop.getLocation().getWorld().getName(); - - double price = shop.getBuyPrice(); - if (stack) price = (price / shop.getProduct().getAmount()) * amount; - - if (econ.getBalance(executor, worldName) >= price || Config.autoCalculateItemAmount) { - - int amountForMoney = (int) (amount / price * econ.getBalance(executor, worldName)); - - if (amountForMoney == 0 && Config.autoCalculateItemAmount) { - executor.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_MONEY)); - return; - } - - plugin.debug(executor.getName() + " has enough money for " + amountForMoney + " item(s) (#" + shop.getID() + ")"); - - Block b = shop.getLocation().getBlock(); - Chest c = (Chest) b.getState(); - - int amountForChestItems = Utils.getAmount(c.getInventory(), itemStack); - - if (amountForChestItems == 0 && shop.getShopType() != ShopType.ADMIN) { - executor.sendMessage(LanguageUtils.getMessage(Message.OUT_OF_STOCK)); - return; - } - - ItemStack product = new ItemStack(itemStack); - if (stack) product.setAmount(amount); - - Inventory inventory = executor.getInventory(); - - int freeSpace = Utils.getFreeSpaceForItem(inventory, product); - - if (freeSpace == 0) { - executor.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_INVENTORY_SPACE)); - return; - } - - int newAmount = amount; - - if (Config.autoCalculateItemAmount) { - if (shop.getShopType() == ShopType.ADMIN) - newAmount = Math.min(amountForMoney, freeSpace); - else - newAmount = Math.min(Math.min(amountForMoney, amountForChestItems), freeSpace); - } - - if (newAmount > amount) newAmount = amount; - - ShopProduct newProduct = new ShopProduct(product, newAmount); - double newPrice = (price / amount) * newAmount; - - if (freeSpace >= newAmount) { - plugin.debug(executor.getName() + " has enough inventory space for " + freeSpace + " items (#" + shop.getID() + ")"); - - EconomyResponse r = econ.withdrawPlayer(executor, worldName, newPrice); - - if (r.transactionSuccess()) { - EconomyResponse r2 = (shop.getShopType() != ShopType.ADMIN) ? econ.depositPlayer(shop.getVendor(), worldName, newPrice) : null; - - if (r2 != null) { - if (r2.transactionSuccess()) { - ShopBuySellEvent event = new ShopBuySellEvent(executor, shop, ShopBuySellEvent.Type.BUY, newAmount, newPrice); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled()) { - econ.depositPlayer(executor, worldName, newPrice); - econ.withdrawPlayer(shop.getVendor(), worldName, newPrice); - plugin.debug("Buy event cancelled (#" + shop.getID() + ")"); - return; - } - - database.logEconomy(executor, shop, newProduct, newPrice, ShopBuySellEvent.Type.BUY, null); - - addToInventory(inventory, newProduct); - removeFromInventory(c.getInventory(), newProduct); - executor.updateInventory(); - - new BukkitRunnable() { - @Override - public void run() { - if (plugin.getHologramFormat().isDynamic()) { - shop.updateHologramText(); - } - } - }.runTaskLater(plugin, 1L); - - String vendorName = (shop.getVendor().getName() == null ? shop.getVendor().getUniqueId().toString() : shop.getVendor().getName()); - executor.sendMessage(LanguageUtils.getMessage(Message.BUY_SUCCESS, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.BUY_PRICE, String.valueOf(newPrice)), - new Replacement(Placeholder.VENDOR, vendorName))); - - plugin.debug(executor.getName() + " successfully bought (#" + shop.getID() + ")"); - - if (shop.getVendor().isOnline() && Config.enableVendorMessages) { - shop.getVendor().getPlayer().sendMessage(LanguageUtils.getMessage(Message.SOMEONE_BOUGHT, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.BUY_PRICE, String.valueOf(newPrice)), - new Replacement(Placeholder.PLAYER, executor.getName()))); - } - - } else { - plugin.debug("Economy transaction failed (r2): " + r2.errorMessage + " (#" + shop.getID() + ")"); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, new Replacement(Placeholder.ERROR, r2.errorMessage))); - econ.withdrawPlayer(shop.getVendor(), worldName, newPrice); - econ.depositPlayer(executor, worldName, newPrice); - } - } else { - ShopBuySellEvent event = new ShopBuySellEvent(executor, shop, ShopBuySellEvent.Type.BUY, newAmount, newPrice); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled()) { - econ.depositPlayer(executor, worldName, newPrice); - plugin.debug("Buy event cancelled (#" + shop.getID() + ")"); - return; - } - - database.logEconomy(executor, shop, newProduct, newPrice, ShopBuySellEvent.Type.BUY, null); - - addToInventory(inventory, newProduct); - executor.updateInventory(); - - new BukkitRunnable() { - @Override - public void run() { - if (plugin.getHologramFormat().isDynamic()) { - shop.updateHologramText(); - } - } - }.runTaskLater(plugin, 1L); - - executor.sendMessage(LanguageUtils.getMessage(Message.BUY_SUCCESS_ADMIN, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.BUY_PRICE, String.valueOf(newPrice)))); - - plugin.debug(executor.getName() + " successfully bought (#" + shop.getID() + ")"); - } - } else { - plugin.debug("Economy transaction failed (r): " + r.errorMessage + " (#" + shop.getID() + ")"); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, new Replacement(Placeholder.ERROR, r.errorMessage))); - econ.depositPlayer(executor, worldName, newPrice); - } - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_INVENTORY_SPACE)); - } - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_MONEY)); - } - } - - /** - * A player sells to a shop - * @param executor Player, who executed the command and will sell the product - * @param shop Shop, to which the player sells - */ - private void sell(Player executor, final Shop shop, boolean stack) { - plugin.debug(executor.getName() + " is selling (#" + shop.getID() + ")"); - - ItemStack itemStack = shop.getProduct().getItemStack(); - int amount = shop.getProduct().getAmount(); - if (stack) amount = itemStack.getMaxStackSize(); - - double price = shop.getSellPrice(); - if (stack) price = (price / shop.getProduct().getAmount()) * amount; - - String worldName = shop.getLocation().getWorld().getName(); - - if (shop.getShopType() == ShopType.ADMIN || econ.getBalance(shop.getVendor(), worldName) >= price || Config.autoCalculateItemAmount) { - int amountForMoney = 1; - - if (shop.getShopType() != ShopType.ADMIN) { - amountForMoney = (int) (amount / price * econ.getBalance(shop.getVendor(), worldName)); - } - - plugin.debug("Vendor has enough money for " + amountForMoney + " item(s) (#" + shop.getID() + ")"); - - if (amountForMoney == 0 && Config.autoCalculateItemAmount && shop.getShopType() != ShopType.ADMIN) { - executor.sendMessage(LanguageUtils.getMessage(Message.VENDOR_NOT_ENOUGH_MONEY)); - return; - } - - Block block = shop.getLocation().getBlock(); - Chest chest = (Chest) block.getState(); - - int amountForItemCount = Utils.getAmount(executor.getInventory(), itemStack); - - if (amountForItemCount == 0) { - executor.sendMessage(LanguageUtils.getMessage(Message.NOT_ENOUGH_ITEMS)); - return; - } - - ItemStack product = new ItemStack(itemStack); - if (stack) product.setAmount(amount); - - Inventory inventory = chest.getInventory(); - - int freeSpace = Utils.getFreeSpaceForItem(inventory, product); - - if (freeSpace == 0 && shop.getShopType() != ShopType.ADMIN) { - executor.sendMessage(LanguageUtils.getMessage(Message.CHEST_NOT_ENOUGH_INVENTORY_SPACE)); - return; - } - - int newAmount = amount; - - if (Config.autoCalculateItemAmount) { - if (shop.getShopType() == ShopType.ADMIN) - newAmount = amountForItemCount; - else - newAmount = Math.min(Math.min(amountForMoney, amountForItemCount), freeSpace); - } - - if (newAmount > amount) newAmount = amount; - - ShopProduct newProduct = new ShopProduct(product, newAmount); - double newPrice = (price / amount) * newAmount; - - if (freeSpace >= newAmount || shop.getShopType() == ShopType.ADMIN) { - plugin.debug("Chest has enough inventory space for " + freeSpace + " items (#" + shop.getID() + ")"); - - EconomyResponse r = econ.depositPlayer(executor, worldName, newPrice); - - if (r.transactionSuccess()) { - EconomyResponse r2 = (shop.getShopType() != ShopType.ADMIN) ? econ.withdrawPlayer(shop.getVendor(), worldName, newPrice) : null; - - if (r2 != null) { - if (r2.transactionSuccess()) { - ShopBuySellEvent event = new ShopBuySellEvent(executor, shop, ShopBuySellEvent.Type.SELL, newAmount, newPrice); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled()) { - econ.withdrawPlayer(executor, worldName, newPrice); - econ.depositPlayer(shop.getVendor(), worldName, newPrice); - plugin.debug("Sell event cancelled (#" + shop.getID() + ")"); - return; - } - - database.logEconomy(executor, shop, newProduct, newPrice, ShopBuySellEvent.Type.SELL, null); - - addToInventory(inventory, newProduct); - removeFromInventory(executor.getInventory(), newProduct); - executor.updateInventory(); - - new BukkitRunnable() { - @Override - public void run() { - if (plugin.getHologramFormat().isDynamic()) { - shop.updateHologramText(); - } - } - }.runTaskLater(plugin, 1L); - - String vendorName = (shop.getVendor().getName() == null ? shop.getVendor().getUniqueId().toString() : shop.getVendor().getName()); - executor.sendMessage(LanguageUtils.getMessage(Message.SELL_SUCCESS, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.SELL_PRICE, String.valueOf(newPrice)), - new Replacement(Placeholder.VENDOR, vendorName))); - - plugin.debug(executor.getName() + " successfully sold (#" + shop.getID() + ")"); - - if (shop.getVendor().isOnline() && Config.enableVendorMessages) { - shop.getVendor().getPlayer().sendMessage(LanguageUtils.getMessage(Message.SOMEONE_SOLD, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.SELL_PRICE, String.valueOf(newPrice)), - new Replacement(Placeholder.PLAYER, executor.getName()))); - } - - } else { - plugin.debug("Economy transaction failed (r2): " + r2.errorMessage + " (#" + shop.getID() + ")"); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, new Replacement(Placeholder.ERROR, r2.errorMessage))); - econ.withdrawPlayer(executor, worldName, newPrice); - econ.depositPlayer(shop.getVendor(), worldName, newPrice); - } - - } else { - ShopBuySellEvent event = new ShopBuySellEvent(executor, shop, ShopBuySellEvent.Type.SELL, newAmount, newPrice); - Bukkit.getPluginManager().callEvent(event); - - if (event.isCancelled()) { - econ.withdrawPlayer(executor, worldName, newPrice); - plugin.debug("Sell event cancelled (#" + shop.getID() + ")"); - return; - } - - database.logEconomy(executor, shop, newProduct, newPrice, ShopBuySellEvent.Type.SELL, null); - - removeFromInventory(executor.getInventory(), newProduct); - executor.updateInventory(); - - new BukkitRunnable() { - @Override - public void run() { - if (plugin.getHologramFormat().isDynamic()) { - shop.updateHologramText(); - } - } - }.runTaskLater(plugin, 1L); - - executor.sendMessage(LanguageUtils.getMessage(Message.SELL_SUCCESS_ADMIN, new Replacement(Placeholder.AMOUNT, String.valueOf(newAmount)), - new Replacement(Placeholder.ITEM_NAME, newProduct.getLocalizedName()), new Replacement(Placeholder.SELL_PRICE, String.valueOf(newPrice)))); - - plugin.debug(executor.getName() + " successfully sold (#" + shop.getID() + ")"); - } - - } else { - plugin.debug("Economy transaction failed (r): " + r.errorMessage + " (#" + shop.getID() + ")"); - executor.sendMessage(LanguageUtils.getMessage(Message.ERROR_OCCURRED, new Replacement(Placeholder.ERROR, r.errorMessage))); - econ.withdrawPlayer(executor, worldName, newPrice); - } - - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.CHEST_NOT_ENOUGH_INVENTORY_SPACE)); - } - - } else { - executor.sendMessage(LanguageUtils.getMessage(Message.VENDOR_NOT_ENOUGH_MONEY)); - } - } - - /** - * Adds items to an inventory - * @param inventory The inventory, to which the items will be added - * @param itemStack Items to add - * @return Whether all items were added to the inventory - */ - private boolean addToInventory(Inventory inventory, ShopProduct product) { - plugin.debug("Adding items to inventory..."); - - HashMap inventoryItems = new HashMap<>(); - ItemStack itemStack = product.getItemStack(); - int amount = product.getAmount(); - int added = 0; - - if (inventory instanceof PlayerInventory) { - if (Utils.getMajorVersion() >= 9) { - inventoryItems.put(40, inventory.getItem(40)); - } - - for (int i = 0; i < 36; i++) { - inventoryItems.put(i, inventory.getItem(i)); - } - - } else { - for (int i = 0; i < inventory.getSize(); i++) { - inventoryItems.put(i, inventory.getItem(i)); - } - } - - slotLoop: - for (int slot : inventoryItems.keySet()) { - while (added < amount) { - ItemStack item = inventory.getItem(slot); - - if (item != null && item.getType() != Material.AIR) { - if (Utils.isItemSimilar(item, itemStack)) { - if (item.getAmount() != item.getMaxStackSize()) { - ItemStack newItemStack = new ItemStack(item); - newItemStack.setAmount(item.getAmount() + 1); - inventory.setItem(slot, newItemStack); - added++; - } else { - continue slotLoop; - } - } else { - continue slotLoop; - } - } else { - ItemStack newItemStack = new ItemStack(itemStack); - newItemStack.setAmount(1); - inventory.setItem(slot, newItemStack); - added++; - } - } - } - - return (added == amount); - } - - /** - * Removes items to from an inventory - * @param inventory The inventory, from which the items will be removed - * @param itemStack Items to remove - * @return Whether all items were removed from the inventory - */ - private boolean removeFromInventory(Inventory inventory, ShopProduct product) { - plugin.debug("Removing items from inventory..."); - - HashMap inventoryItems = new HashMap<>(); - ItemStack itemStack = product.getItemStack(); - int amount = product.getAmount(); - int removed = 0; - - if (inventory instanceof PlayerInventory) { - if (Utils.getMajorVersion() >= 9) { - inventoryItems.put(40, inventory.getItem(40)); - } - - for (int i = 0; i < 36; i++) { - inventoryItems.put(i, inventory.getItem(i)); - } - - } else { - for (int i = 0; i < inventory.getSize(); i++) { - inventoryItems.put(i, inventory.getItem(i)); - } - } - - slotLoop: - for (int slot : inventoryItems.keySet()) { - while (removed < amount) { - ItemStack item = inventory.getItem(slot); - - if (item != null && item.getType() != Material.AIR) { - if (Utils.isItemSimilar(item, itemStack)) { - if (item.getAmount() > 0) { - int newAmount = item.getAmount() - 1; - - ItemStack newItemStack = new ItemStack(item); - newItemStack.setAmount(newAmount); - - if (newAmount == 0) - inventory.setItem(slot, null); - else - inventory.setItem(slot, newItemStack); - - removed++; - } else { - continue slotLoop; - } - } else { - continue slotLoop; - } - } else { - continue slotLoop; - } - - } - } - - return (removed == amount); - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java deleted file mode 100644 index 0d73fb6..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java +++ /dev/null @@ -1,150 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.utils.ShopUtils; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.BlockState; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.*; -import org.bukkit.event.player.PlayerBucketEmptyEvent; -import org.bukkit.event.world.StructureGrowEvent; - -public class ShopItemListener implements Listener { - - private ShopUtils shopUtils; - - public ShopItemListener(ShopChest plugin) { - this.shopUtils = plugin.getShopUtils(); - } - - @EventHandler(priority = EventPriority.HIGH) - public void onBlockPlace(BlockPlaceEvent e) { - Block b = e.getBlockPlaced(); - Block below = b.getRelative(BlockFace.DOWN); - - if (shopUtils.isShop(below.getLocation())) { - Shop shop = shopUtils.getShop(below.getLocation()); - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(e.getPlayer()); - } - e.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onMultiBlockPlace(BlockMultiPlaceEvent e) { - for (BlockState blockState : e.getReplacedBlockStates()) { - Block below = blockState.getBlock().getRelative(BlockFace.DOWN); - - if (shopUtils.isShop(below.getLocation())) { - Shop shop = shopUtils.getShop(below.getLocation()); - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(e.getPlayer()); - } - e.setCancelled(true); - } - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onPistonExtend(BlockPistonExtendEvent e) { - // If the piston would only move itself - Block airAfterPiston = e.getBlock().getRelative(e.getDirection()); - Block belowAir = airAfterPiston.getRelative(BlockFace.DOWN); - if (shopUtils.isShop(belowAir.getLocation())) { - e.setCancelled(true); - return; - } - - for (Block b : e.getBlocks()) { - Block newBlock = b.getRelative(e.getDirection()); - Block belowNewBlock = newBlock.getRelative(BlockFace.DOWN); - if (shopUtils.isShop(belowNewBlock.getLocation())) e.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onPistonRetract(BlockPistonRetractEvent e) { - for (Block b : e.getBlocks()) { - Block newBlock = b.getRelative(e.getDirection()); - Block belowNewBlock = newBlock.getRelative(BlockFace.DOWN); - if (shopUtils.isShop(belowNewBlock.getLocation())) { - e.setCancelled(true); - for (Player p : Bukkit.getOnlinePlayers()) { - Shop shop = shopUtils.getShop(belowNewBlock.getLocation()); - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(p); - } - } - } - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onLiquidFlow(BlockFromToEvent e) { - Block b = e.getToBlock(); - Block below = b.getRelative(BlockFace.DOWN); - - if (shopUtils.isShop(below.getLocation())) e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGH) - public void onBucketEmpty(PlayerBucketEmptyEvent e) { - Block clicked = e.getBlockClicked(); - Block underWater = clicked.getRelative(BlockFace.DOWN).getRelative(e.getBlockFace()); - - if (shopUtils.isShop(clicked.getLocation())) { - if (e.getBucket() == Material.LAVA_BUCKET) { - Shop shop = shopUtils.getShop(clicked.getLocation()); - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(e.getPlayer()); - } - } - } else if (shopUtils.isShop(underWater.getLocation())) { - if (e.getBucket() == Material.LAVA_BUCKET) { - Shop shop = shopUtils.getShop(underWater.getLocation()); - if (shop.getItem() != null) { - shop.getItem().resetForPlayer(e.getPlayer()); - } - } - } else { - return; - } - - e.setCancelled(true); - } - - @EventHandler(priority = EventPriority.HIGH) - public void onStructureGrow(StructureGrowEvent e) { - for (BlockState state : e.getBlocks()) { - Block newBlock = state.getBlock(); - if (shopUtils.isShop(newBlock.getLocation()) || shopUtils.isShop(newBlock.getRelative(BlockFace.DOWN).getLocation())) { - e.setCancelled(true); - } - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onBlockGrow(BlockGrowEvent e) { - Block newBlock = e.getNewState().getBlock(); - if (shopUtils.isShop(newBlock.getLocation()) || shopUtils.isShop(newBlock.getRelative(BlockFace.DOWN).getLocation())) { - e.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGH) - public void onBlockSpread(BlockSpreadEvent e) { - Block newBlock = e.getNewState().getBlock(); - if (shopUtils.isShop(newBlock.getLocation()) || shopUtils.isShop(newBlock.getRelative(BlockFace.DOWN).getLocation())) { - e.setCancelled(true); - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopUpdateListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopUpdateListener.java deleted file mode 100644 index bed4ec7..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/ShopUpdateListener.java +++ /dev/null @@ -1,105 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.utils.Callback; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.event.player.PlayerTeleportEvent; -import org.bukkit.event.world.WorldLoadEvent; -import org.bukkit.scheduler.BukkitRunnable; - -public class ShopUpdateListener implements Listener { - - private ShopChest plugin; - - public ShopUpdateListener(ShopChest plugin) { - this.plugin = plugin; - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent e) { - // If done without delay, Bukkit#getOnlinePlayers() would still - // contain the player even though he left, so the shop updater - // would show the shop again. - new BukkitRunnable(){ - @Override - public void run() { - for (Shop shop : plugin.getShopUtils().getShops()) { - if (shop.hasItem()) { - shop.getItem().resetVisible(e.getPlayer()); - } - if (shop.hasHologram()) { - shop.getHologram().resetVisible(e.getPlayer()); - } - } - - plugin.getShopUtils().resetPlayerLocation(e.getPlayer()); - } - }.runTaskLater(plugin, 1L); - } - - @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) - public void onPlayerTeleport(PlayerTeleportEvent e) { - Location from = e.getFrom(); - Location to = e.getTo(); - final Player p = e.getPlayer(); - - // Wait till the chunk should have loaded on the client - if (!from.getWorld().getName().equals(to.getWorld().getName()) - || from.getChunk().getX() != to.getChunk().getX() - || from.getChunk().getZ() != to.getChunk().getZ()) { - new BukkitRunnable() { - @Override - public void run() { - plugin.getUpdater().queue(() -> { - if (p.isOnline()) { - for (Shop shop : plugin.getShopUtils().getShops()) { - if (shop.hasItem()) { - shop.getItem().hidePlayer(p); - } - if (shop.hasHologram()) { - shop.getHologram().hidePlayer(p); - } - } - plugin.getShopUtils().resetPlayerLocation(p); - } - }); - plugin.getUpdater().updateShops(p); - } - }.runTaskLater(plugin, 15L); - } - } - - @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) - public void onPlayerMove(PlayerMoveEvent e) { - plugin.getUpdater().updateShops(e.getPlayer()); - } - - @EventHandler - public void onWorldLoad(WorldLoadEvent e) { - final String worldName = e.getWorld().getName(); - - plugin.getShopUtils().reloadShops(false, false, new Callback(plugin) { - @Override - public void onResult(Integer result) { - plugin.getLogger().info(String.format("Reloaded %d shops because a new world '%s' was loaded", result, worldName)); - plugin.debug(String.format("Reloaded %d shops because a new world '%s' was loaded", result, worldName)); - } - - @Override - public void onError(Throwable throwable) { - // Database connection probably failed => disable plugin to prevent more errors - plugin.getLogger().severe("No database access. Disabling ShopChest"); - if (throwable != null) plugin.getLogger().severe(throwable.getMessage()); - plugin.getServer().getPluginManager().disablePlugin(plugin); - } - }); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/listeners/WorldGuardListener.java b/implementation/src/main/java/de/epiceric/shopchest/listeners/WorldGuardListener.java deleted file mode 100644 index b81aef3..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/listeners/WorldGuardListener.java +++ /dev/null @@ -1,89 +0,0 @@ -package de.epiceric.shopchest.listeners; - -import java.util.Optional; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.Chest; -import org.bukkit.entity.Player; -import org.bukkit.event.Event.Result; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryOpenEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.codemc.worldguardwrapper.WorldGuardWrapper; -import org.codemc.worldguardwrapper.event.WrappedUseBlockEvent; -import org.codemc.worldguardwrapper.flag.IWrappedFlag; -import org.codemc.worldguardwrapper.flag.WrappedState; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.utils.ClickType; -import de.epiceric.shopchest.utils.ClickType.EnumClickType; - -public class WorldGuardListener implements Listener { - - private ShopChest plugin; - - public WorldGuardListener(ShopChest plugin) { - this.plugin = plugin; - } - - - private boolean isAllowed(Player player, Location location) { - ClickType clickType = ClickType.getPlayerClickType(player); - - if (clickType != null && clickType.getClickType() == EnumClickType.CREATE) { - // If the player is about to create a shop, but does not have - // access to the chest, show the 'permission denied' message - // (if not previously set to allowed by another plugin). - // If the player can open the chest, that message should be hidden. - WorldGuardWrapper wgWrapper = WorldGuardWrapper.getInstance(); - Optional> flag = wgWrapper.getFlag("chest-access", WrappedState.class); - if (!flag.isPresent()) plugin.debug("WorldGuard flag 'chest-access' is not present!"); - WrappedState state = flag.map(f -> wgWrapper.queryFlag(player, location, f).orElse(WrappedState.DENY)).orElse(WrappedState.DENY); - return state == WrappedState.ALLOW; - } - - Shop shop = plugin.getShopUtils().getShop(location); - - if (shop != null) { - // Don't show 'permission denied' messages for any kind of - // shop interaction even if block interaction is not - // allowed in the region. - return true; - } - - return false; - } - - @EventHandler(priority = EventPriority.LOW) - public void onUseBlock(WrappedUseBlockEvent event) { - if (Config.enableWorldGuardIntegration) { - Player player = event.getPlayer(); - - if (event.getOriginalEvent() instanceof PlayerInteractEvent) { - Block block = event.getBlocks().get(0); - Material type = block.getType(); - - if (type == Material.CHEST || type == Material.TRAPPED_CHEST) { - if (isAllowed(player, block.getLocation())) { - event.setResult(Result.ALLOW); - } - } - } else if (event.getOriginalEvent() instanceof InventoryOpenEvent) { - InventoryOpenEvent orig = (InventoryOpenEvent) event.getOriginalEvent(); - - if (orig.getInventory().getHolder() instanceof Chest) { - if (isAllowed(player, ((Chest) orig.getInventory().getHolder()).getLocation())) { - event.setResult(Result.ALLOW); - } - } - } - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/nms/ArmorStandWrapper.java b/implementation/src/main/java/de/epiceric/shopchest/nms/ArmorStandWrapper.java deleted file mode 100644 index 1c15b07..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/nms/ArmorStandWrapper.java +++ /dev/null @@ -1,129 +0,0 @@ -package de.epiceric.shopchest.nms; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.Location; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; - -import java.lang.reflect.Field; -import java.util.UUID; - -public class ArmorStandWrapper { - - private final Class packetPlayOutEntityDestroyClass = Utils.getNMSClass("PacketPlayOutEntityDestroy"); - private final Class packetPlayOutEntityMetadataClass = Utils.getNMSClass("PacketPlayOutEntityMetadata"); - private final Class packetPlayOutEntityTeleportClass = Utils.getNMSClass("PacketPlayOutEntityTeleport"); - private final Class dataWatcherClass = Utils.getNMSClass("DataWatcher"); - - private final UUID uuid = UUID.randomUUID(); - private final int entityId; - - private ShopChest plugin; - private Object entity; - private Location location; - private String customName; - - public ArmorStandWrapper(ShopChest plugin, Location location, String customName, boolean interactable) { - this.plugin = plugin; - this.location = location; - this.customName = customName; - this.entityId = Utils.getFreeEntityId(); - } - - public void setVisible(Player player, boolean visible) { - try { - if (visible) { - Object dataWatcher = Utils.createDataWatcher(customName, null); - Utils.sendPacket(plugin, Utils.createPacketSpawnEntity(plugin, entityId, uuid, location, EntityType.ARMOR_STAND), player); - Utils.sendPacket(plugin, packetPlayOutEntityMetadataClass.getConstructor(int.class, dataWatcherClass, boolean.class) - .newInstance(entityId, dataWatcher, true), player); - } else if (entityId != -1) { - Utils.sendPacket(plugin, packetPlayOutEntityDestroyClass.getConstructor(int[].class).newInstance((Object) new int[]{entityId}), player); - } - } catch (ReflectiveOperationException e) { - plugin.getLogger().severe("Could not change hologram visibility"); - plugin.debug("Could not change armor stand visibility"); - plugin.debug(e); - } - } - - public void setLocation(Location location) { - this.location = location; - try { - Object packet = packetPlayOutEntityTeleportClass.getConstructor().newInstance(); - Field[] fields = packetPlayOutEntityTeleportClass.getDeclaredFields(); - for (Field field : fields) { - field.setAccessible(true); - } - - boolean isPre9 = Utils.getMajorVersion() < 9; - fields[0].set(packet, entityId); - - double y = location.getY() + (Utils.getServerVersion().equals("v1_8_R1") ? 0 : 1.975); - if (isPre9) { - fields[1].set(packet, (int)(location.getX() * 32)); - fields[2].set(packet, (int)(y * 32)); - fields[3].set(packet, (int)(location.getZ() * 32)); - } else { - fields[1].set(packet, location.getX()); - fields[2].set(packet, y); - fields[3].set(packet, location.getZ()); - } - fields[4].set(packet, (byte) 0); - fields[5].set(packet, (byte) 0); - fields[6].set(packet, true); - - for (Player player : location.getWorld().getPlayers()) { - Utils.sendPacket(plugin, packet, player); - } - } catch (ReflectiveOperationException e) { - plugin.getLogger().severe("Could not set hologram location"); - plugin.debug("Could not set armor stand location"); - plugin.debug(e); - } - } - - public void setCustomName(String customName) { - this.customName = customName; - Object dataWatcher = Utils.createDataWatcher(customName, null); - try { - Object packet = packetPlayOutEntityMetadataClass.getConstructor(int.class, dataWatcherClass, boolean.class) - .newInstance(entityId, dataWatcher, true); - - for (Player player : location.getWorld().getPlayers()) { - Utils.sendPacket(plugin, packet, player); - } - } catch (ReflectiveOperationException e) { - plugin.getLogger().severe("Could not set hologram text"); - plugin.debug("Could not set armor stand custom name"); - plugin.debug(e); - } - } - - public void remove() { - for (Player player : location.getWorld().getPlayers()) { - setVisible(player, false); - } - } - - public int getEntityId() { - return entityId; - } - - public UUID getUuid() { - return uuid; - } - - public Location getLocation() { - return location.clone(); - } - - public String getCustomName() { - return customName; - } - - public Object getEntity() { - return entity; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/nms/CustomBookMeta.java b/implementation/src/main/java/de/epiceric/shopchest/nms/CustomBookMeta.java deleted file mode 100644 index e21b8a1..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/nms/CustomBookMeta.java +++ /dev/null @@ -1,90 +0,0 @@ -package de.epiceric.shopchest.nms; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.inventory.ItemStack; - -import java.lang.reflect.InvocationTargetException; - -// For versions below 1.9.4, since Bukkit's BookMeta -// didn't have generations in those versions - -public class CustomBookMeta { - - public enum Generation { - ORIGINAL, - COPY_OF_ORIGINAL, - COPY_OF_COPY, - TATTERED - } - - public static Generation getGeneration(ItemStack book) { - try { - Class craftItemStackClass = Utils.getCraftClass("inventory.CraftItemStack"); - - if (craftItemStackClass == null) { - ShopChest.getInstance().debug("Failed to get NBTGeneration: Could not find CraftItemStack class"); - return null; - } - - Object nmsStack = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, book); - - Object nbtTagCompound = nmsStack.getClass().getMethod("getTag").invoke(nmsStack); - if (nbtTagCompound == null) { - ShopChest.getInstance().debug("Failed to get NBTGeneration: getTag returned null"); - return null; - } - - Object generationObject = nbtTagCompound.getClass().getMethod("getInt", String.class).invoke(nbtTagCompound, "generation"); - if (generationObject == null) { - ShopChest.getInstance().debug("Failed to get NBTGeneration: getInt returned null"); - return null; - } - - if (generationObject instanceof Integer) { - int generation = (Integer) generationObject; - - if (generation > 3) generation = 3; - - return Generation.values()[generation]; - } - - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - ShopChest.getInstance().getLogger().severe("Failed to get NBTEntityID with reflection"); - ShopChest.getInstance().debug("Failed to get NBTEntityID with reflection"); - ShopChest.getInstance().debug(e); - } - - return null; - } - - public static void setGeneration(ItemStack book, Generation generation) { - try { - Class craftItemStackClass = Utils.getCraftClass("inventory.CraftItemStack"); - - if (craftItemStackClass == null) { - ShopChest.getInstance().debug("Failed to get NBTGeneration: Could not find CraftItemStack class"); - return; - } - - Object nmsStack = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, book); - - Object nbtTagCompound = nmsStack.getClass().getMethod("getTag").invoke(nmsStack); - if (nbtTagCompound == null) { - ShopChest.getInstance().debug("Failed to get NBTGeneration: getTag returned null"); - return; - } - - nbtTagCompound.getClass().getMethod("setInt", String.class, int.class) - .invoke(nbtTagCompound, "generation", generation.ordinal()); - - nmsStack.getClass().getMethod("setTag", nbtTagCompound.getClass()).invoke(nmsStack, nbtTagCompound); - - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - ShopChest.getInstance().getLogger().severe("Failed to get NBTEntityID with reflection"); - ShopChest.getInstance().debug("Failed to get NBTEntityID with reflection"); - ShopChest.getInstance().debug(e); - } - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/nms/Hologram.java b/implementation/src/main/java/de/epiceric/shopchest/nms/Hologram.java deleted file mode 100644 index afcbe56..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/nms/Hologram.java +++ /dev/null @@ -1,277 +0,0 @@ -package de.epiceric.shopchest.nms; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.entity.ArmorStand; -import org.bukkit.entity.Player; - -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; - -public class Hologram { - - private static final List HOLOGRAMS = new ArrayList<>(); - - /** - * @param armorStand Armor stand that's part of a hologram - * @return Hologram, the armor stand is part of - */ - public static Hologram getHologram(ArmorStand armorStand) { - for (Hologram hologram : HOLOGRAMS) { - if (hologram.contains(armorStand)) { - return hologram; - } - } - - return null; - } - - /** - * @param armorStand Armor stand to check - * @return Whether the armor stand is part of a hologram - */ - public static boolean isPartOfHologram(ArmorStand armorStand) { - return getHologram(armorStand) != null; - } - - // concurrent since update task is in async thread - // since this is a fake entity, hologram is hidden per default - private final Set viewers = Collections.newSetFromMap(new ConcurrentHashMap()); - private final List wrappers = new ArrayList<>(); - private final Location location; - private final ShopChest plugin; - - private boolean exists; - - public Hologram(ShopChest plugin, String[] lines, Location location) { - this.plugin = plugin; - this.location = location; - - for (int i = 0; i < lines.length; i++) { - addLine(i, lines[i]); - } - - this.exists = true; - HOLOGRAMS.add(this); - } - - /** - * @return Location of the hologram - */ - public Location getLocation() { - return location.clone(); - } - - /** - * @return Whether the hologram exists and is not dead - */ - public boolean exists() { - return exists; - } - - /** - * @param armorStand Armor stand to check - * @return Whether the given armor stand is part of the hologram - */ - public boolean contains(ArmorStand armorStand) { - for (ArmorStandWrapper wrapper : wrappers) { - if (armorStand.getUniqueId().equals(wrapper.getUuid())) { - return true; - } - } - return false; - } - - /** - * @return A list of {@link ArmorStandWrapper}s of this hologram - */ - public List getArmorStandWrappers() { - return wrappers; - } - - /** - * @param p Player to check - * @return Whether the hologram is visible to the player - */ - public boolean isVisible(Player p) { - return viewers.contains(p.getUniqueId()); - } - - /** - * @param p Player to which the hologram should be shown - */ - public void showPlayer(Player p) { - showPlayer(p, false); - } - - /** - * @param p Player to which the hologram should be shown - * @param force Whether to force showing the hologram - */ - public void showPlayer(Player p, boolean force) { - if (viewers.add(p.getUniqueId()) || force) { - togglePlayer(p, true); - } - } - - /** - * @param p Player from which the hologram should be hidden - */ - public void hidePlayer(Player p) { - hidePlayer(p, false); - } - - /** - * @param p Player from which the hologram should be hidden - * @param force Whether to force hiding the hologram - */ - public void hidePlayer(Player p, boolean force) { - if (viewers.remove(p.getUniqueId()) || force) { - togglePlayer(p, false); - } - } - - /** - *

Removes the hologram.

- * - * Hologram will be hidden from all players and all - * ArmorStand entities will be killed. - */ - public void remove() { - viewers.clear(); - - for (ArmorStandWrapper wrapper : wrappers) { - wrapper.remove(); - } - wrappers.clear(); - - exists = false; - HOLOGRAMS.remove(this); - } - - /** - * Remove the player from the list of viewers. The hologram is - * then counted as hidden, but no packets are sent to the player. - * @param p Player whose visibility status will be reset - */ - public void resetVisible(Player p) { - viewers.remove(p.getUniqueId()); - } - - private void togglePlayer(Player p, boolean visible) { - for (ArmorStandWrapper wrapper : wrappers) { - wrapper.setVisible(p, visible); - } - } - - /** - * Get all hologram lines - * - * @return Hologram lines - */ - public String[] getLines() { - List lines = new ArrayList<>(); - for (ArmorStandWrapper wrapper : wrappers) { - lines.add(wrapper.getCustomName()); - } - - return lines.toArray(new String[lines.size()]); - } - - /** - * Add a line - * - * @param line where to insert - * @param text text to display - */ - public void addLine(int line, String text) { - addLine(line, text, false); - } - - private void addLine(int line, String text, boolean forceUpdateLine) { - if (text == null || text.isEmpty()) return; - - if (line >= wrappers.size()) { - line = wrappers.size(); - } - - text = ChatColor.translateAlternateColorCodes('&', text); - - if (Config.hologramFixedBottom) { - for (int i = 0; i < line; i++) { - ArmorStandWrapper wrapper = wrappers.get(i); - wrapper.setLocation(wrapper.getLocation().add(0, 0.25, 0)); - } - } else { - for (int i = line; i < wrappers.size(); i++) { - ArmorStandWrapper wrapper = wrappers.get(i); - wrapper.setLocation(wrapper.getLocation().subtract(0, 0.25, 0)); - } - } - - Location loc = getLocation(); - - if (!Config.hologramFixedBottom) { - loc.subtract(0, line * 0.25, 0); - } - - ArmorStandWrapper wrapper = new ArmorStandWrapper(plugin, loc, text, false); - wrappers.add(line, wrapper); - - if (forceUpdateLine) { - for (Player player : location.getWorld().getPlayers()) { - if (viewers.contains(player.getUniqueId())) { - wrapper.setVisible(player, true); - } - } - } - } - - /** - * Set a line - * - * @param line index to change - * @param text text to display - */ - public void setLine(int line, String text) { - if (text == null ||text.isEmpty()) { - removeLine(line); - return; - } - - text = ChatColor.translateAlternateColorCodes('&', text); - - if (line >= wrappers.size()) { - addLine(line, text, true); - return; - } - - wrappers.get(line).setCustomName(text); - } - - /** - * Remove a line - * - * @param line index to remove - */ - public void removeLine(int line) { - if (line < wrappers.size()) { - if (Config.hologramFixedBottom) { - for (int i = 0; i < line; i++) { - ArmorStandWrapper wrapper = wrappers.get(i); - wrapper.setLocation(wrapper.getLocation().subtract(0, 0.25, 0)); - } - } else { - for (int i = line + 1; i < wrappers.size(); i++) { - ArmorStandWrapper wrapper = wrappers.get(i); - wrapper.setLocation(wrapper.getLocation().add(0, 0.25, 0)); - } - } - - wrappers.get(line).remove(); - wrappers.remove(line); - } - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/nms/JsonBuilder.java b/implementation/src/main/java/de/epiceric/shopchest/nms/JsonBuilder.java deleted file mode 100644 index 207b8fe..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/nms/JsonBuilder.java +++ /dev/null @@ -1,236 +0,0 @@ -package de.epiceric.shopchest.nms; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.StringJoiner; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class JsonBuilder { - - public static class Part { - private String value; - - public Part() { - this("", true); - } - - public Part(Object value) { - this(value, value instanceof CharSequence); - } - - public Part(Object value, boolean appendQuotes) { - if (appendQuotes) { - this.value = "\"" + value + "\""; - } else { - this.value = String.valueOf(value); - } - } - - @Override - public String toString() { - return value; - } - - public PartArray toArray() { - return new PartArray(this); - } - - public PartMap toMap() { - PartMap map = new PartMap(); - map.setValue("text", new Part()); - map.setValue("extra", toArray()); - return map; - } - } - - public static class PartMap extends Part { - private Map values = new HashMap<>(); - - public PartMap() { - } - - public PartMap(Map values) { - this.values.putAll(values); - } - - public void setValue(String key, Part value) { - values.put(key, value); - } - - public void removeValue(String key) { - values.remove(key); - } - - @Override - public String toString() { - StringJoiner joiner = new StringJoiner(",", "{", "}"); - values.forEach((key, value) -> joiner.add("\"" + key + "\":" + value.toString())); - return joiner.toString(); - } - - @Override - public PartMap toMap() { - return this; - } - } - - public static class PartArray extends Part { - private List parts = new ArrayList<>(); - - public PartArray(Part... parts) { - this.parts.addAll(Arrays.asList(parts)); - } - - public void addPart(Part part) { - parts.add(part); - } - - @Override - public String toString() { - StringJoiner joiner = new StringJoiner(",", "[", "]"); - parts.forEach(part -> joiner.add(part.toString())); - return joiner.toString(); - } - - @Override - public PartArray toArray() { - return this; - } - } - - private static final Pattern PART_PATTERN = Pattern.compile("(([§][a-fA-Fk-oK-OrR0-9])+)([^§]*)"); - - private Part rootPart; - private ShopChest plugin; - - private Class iChatBaseComponentClass = Utils.getNMSClass("IChatBaseComponent"); - private Class packetPlayOutChatClass = Utils.getNMSClass("PacketPlayOutChat"); - private Class chatSerializerClass; - - public JsonBuilder(ShopChest plugin) { - this.plugin = plugin; - - if (Utils.getServerVersion().equals("v1_8_R1")) { - chatSerializerClass = Utils.getNMSClass("ChatSerializer"); - } else { - chatSerializerClass = Utils.getNMSClass("IChatBaseComponent$ChatSerializer"); - } - - Class[] requiredClasses = new Class[] { - iChatBaseComponentClass, packetPlayOutChatClass, chatSerializerClass - }; - - for (Class c : requiredClasses) { - if (c == null) { - plugin.debug("Failed to instantiate JsonBuilder: Could not find all required classes"); - return; - } - } - } - - public static Part parse(String text) { - Matcher matcher = PART_PATTERN.matcher(text); - - if (!matcher.find()) { - return new Part(text); - } - - matcher.reset(); - - PartArray array = new PartArray(); - int lastEndIndex = 0; - - while (matcher.find()) { - int startIndex = matcher.start(); - int endIndex = matcher.end(); - - if (lastEndIndex != startIndex) { - String betweenMatches = text.substring(lastEndIndex, startIndex); - array.addPart(new Part(betweenMatches)); - } - - String format = matcher.group(1); - String value = matcher.group(3); - - PartMap part = new PartMap(); - part.setValue("text", new Part(value)); - - String[] formats = format.split("§"); - for (String f : formats) { - switch (f.toLowerCase()) { - case "": - break; - case "k": - part.setValue("obfuscated", new Part(true)); - break; - case "l": - part.setValue("bold", new Part(true)); - break; - case "m": - part.setValue("strikethrough", new Part(true)); - break; - case "n": - part.setValue("underlined", new Part(true)); - break; - case "o": - part.setValue("italic", new Part(true)); - break; - case "r": - part.removeValue("obfuscated"); - part.removeValue("bold"); - part.removeValue("strikethrough"); - part.removeValue("underlined"); - part.removeValue("italic"); - part.removeValue("color"); - break; - default: - part.setValue("color", new Part(ChatColor.getByChar(f).name().toLowerCase())); - } - } - - array.addPart(part); - lastEndIndex = endIndex; - } - - return array; - } - - @Override - public String toString() { - return rootPart.toString(); - } - - public Part getRootPart() { - return rootPart; - } - - public void setRootPart(Part rootPart) { - this.rootPart = rootPart; - } - - public void sendJson(Player p) { - try { - Object iChatBaseComponent = chatSerializerClass.getMethod("a", String.class).invoke(null, toString()); - Object packetPlayOutChat = packetPlayOutChatClass.getConstructor(iChatBaseComponentClass).newInstance(iChatBaseComponent); - - Utils.sendPacket(plugin, packetPlayOutChat, p); - plugin.debug("Sent JSON: " + toString()); - } catch (InstantiationException | InvocationTargetException | - IllegalAccessException | NoSuchMethodException e) { - plugin.getLogger().severe("Failed to send JSON with reflection"); - plugin.debug("Failed to send JSON with reflection: " + toString()); - plugin.debug(e); - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/nms/SpawnEggMeta.java b/implementation/src/main/java/de/epiceric/shopchest/nms/SpawnEggMeta.java deleted file mode 100644 index 81a1c87..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/nms/SpawnEggMeta.java +++ /dev/null @@ -1,90 +0,0 @@ -package de.epiceric.shopchest.nms; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.entity.EntityType; -import org.bukkit.inventory.ItemStack; - -import java.lang.reflect.InvocationTargetException; - -public class SpawnEggMeta { - - private static String getNBTEntityID(ShopChest plugin, ItemStack stack) { - try { - Class craftItemStackClass = Utils.getCraftClass("inventory.CraftItemStack"); - - if (craftItemStackClass == null) { - plugin.debug("Failed to get NBTEntityID: Could not find CraftItemStack class"); - return null; - } - - Object nmsStack = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, stack); - - Object nbtTagCompound = nmsStack.getClass().getMethod("getTag").invoke(nmsStack); - if (nbtTagCompound == null) return null; - - Object entityTagCompound = nbtTagCompound.getClass().getMethod("getCompound", String.class).invoke(nbtTagCompound, "EntityTag"); - if (entityTagCompound == null) return null; - - Object id = entityTagCompound.getClass().getMethod("getString", String.class).invoke(entityTagCompound, "id"); - if (id instanceof String) return (String) id; - - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - plugin.getLogger().severe("Failed to get NBTEntityID with reflection"); - plugin.debug("Failed to get NBTEntityID with reflection"); - plugin.debug(e); - } - - return null; - } - - /** - * @param plugin An instance of the {@link ShopChest} plugin - * @param stack {@link ItemStack} (Spawn Egg) of which the Entity should be gotten - * @return The {@link EntityType} the Spawn Egg will spawn or null if nbtEntityID is null - */ - public static EntityType getEntityTypeFromItemStack(ShopChest plugin, ItemStack stack) { - if (Utils.getMajorVersion() == 8) { - EntityType type = null; - - for (EntityType entityType : EntityType.values()) { - if (entityType.getTypeId() == stack.getDurability()) { - type = entityType; - break; - } - } - - return type; - } - - String nbtEntityID = getNBTEntityID(plugin, stack); - - if (nbtEntityID == null) return null; - - if (Utils.getMajorVersion() >= 11) { - if (nbtEntityID.contains(":")) nbtEntityID = nbtEntityID.split(":")[1]; - return EntityType.fromName(nbtEntityID); - } - - switch (nbtEntityID) { - case "PigZombie": - return EntityType.PIG_ZOMBIE; - case "CaveSpider": - return EntityType.CAVE_SPIDER; - case "LavaSlime": - return EntityType.MAGMA_CUBE; - case "MushroomCow": - return EntityType.MUSHROOM_COW; - case "EntityHorse": - return EntityType.HORSE; - case "PolarBear": - return EntityType.POLAR_BEAR; - case "Ozelot": - return EntityType.OCELOT; - default: - return EntityType.valueOf(nbtEntityID.toUpperCase()); - - } - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/shop/Shop.java b/implementation/src/main/java/de/epiceric/shopchest/shop/Shop.java deleted file mode 100644 index 26d7003..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/shop/Shop.java +++ /dev/null @@ -1,476 +0,0 @@ -package de.epiceric.shopchest.shop; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.config.HologramFormat; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.exceptions.ChestNotFoundException; -import de.epiceric.shopchest.exceptions.NotEnoughSpaceException; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.nms.Hologram; -import de.epiceric.shopchest.utils.ItemUtils; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.Chest; -import org.bukkit.block.DoubleChest; -import org.bukkit.block.data.Directional; -import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.InventoryHolder; -import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; - -import java.util.*; - -public class Shop { - - public enum ShopType { - NORMAL, - ADMIN, - } - - private static class PreCreateResult { - private final Inventory inventory; - private final Chest[] chests; - private final BlockFace face; - - private PreCreateResult(Inventory inventory, Chest[] chests, BlockFace face) { - this.inventory = inventory; - this.chests = chests; - this.face = face; - } - } - - private final ShopChest plugin; - private final OfflinePlayer vendor; - private final ShopProduct product; - private final Location location; - private final double buyPrice; - private final double sellPrice; - private final ShopType shopType; - - private boolean created; - private int id; - private Hologram hologram; - private Location holoLocation; - private ShopItem item; - - public Shop(int id, ShopChest plugin, OfflinePlayer vendor, ShopProduct product, Location location, double buyPrice, double sellPrice, ShopType shopType) { - this.id = id; - this.plugin = plugin; - this.vendor = vendor; - this.product = product; - this.location = location; - this.buyPrice = buyPrice; - this.sellPrice = sellPrice; - this.shopType = shopType; - } - - public Shop(ShopChest plugin, OfflinePlayer vendor, ShopProduct product, Location location, double buyPrice, double sellPrice, ShopType shopType) { - this(-1, plugin, vendor, product, location, buyPrice, sellPrice, shopType); - } - - /** - * Test if this shop is equals to another - * - * @param o Other object to test against - * @return true if we are sure they are the same, false otherwise - */ - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Shop shop = (Shop) o; - - // id = -1 means temp shop - return id != -1 && id == shop.id; - } - - @Override - public int hashCode() { - return id != -1 ? id : super.hashCode(); - } - - /** - * Create the shop - * - * @param showConsoleMessages to log exceptions to console - * @return Whether is was created or not - */ - public boolean create(boolean showConsoleMessages) { - if (created) return false; - - plugin.debug("Creating shop (#" + id + ")"); - - Block b = location.getBlock(); - if (b.getType() != Material.CHEST && b.getType() != Material.TRAPPED_CHEST) { - ChestNotFoundException ex = new ChestNotFoundException(String.format("No Chest found in world '%s' at location: %d; %d; %d", - b.getWorld().getName(), b.getX(), b.getY(), b.getZ())); - plugin.getShopUtils().removeShop(this, Config.removeShopOnError); - if (showConsoleMessages) plugin.getLogger().severe(ex.getMessage()); - plugin.debug("Failed to create shop (#" + id + ")"); - plugin.debug(ex); - return false; - } else if ((!ItemUtils.isAir(b.getRelative(BlockFace.UP).getType()))) { - NotEnoughSpaceException ex = new NotEnoughSpaceException(String.format("No space above chest in world '%s' at location: %d; %d; %d", - b.getWorld().getName(), b.getX(), b.getY(), b.getZ())); - plugin.getShopUtils().removeShop(this, Config.removeShopOnError); - if (showConsoleMessages) plugin.getLogger().severe(ex.getMessage()); - plugin.debug("Failed to create shop (#" + id + ")"); - plugin.debug(ex); - return false; - } - - PreCreateResult preResult = preCreateHologram(); - - if (preResult == null) { - return false; - } - - plugin.getShopCreationThreadPool().execute(() -> { - if (hologram == null || !hologram.exists()) createHologram(preResult); - if (item == null) createItem(); - - // Update shops for players in the same world after creation has finished - plugin.getUpdater().queue(() -> { - for (Player player : location.getWorld().getPlayers()) { - plugin.getShopUtils().resetPlayerLocation(player); - } - }); - plugin.getUpdater().updateShops(location.getWorld()); - }); - - created = true; - return true; - } - - /** - * Removes the hologram of the shop - */ - public void removeHologram() { - if (hologram != null && hologram.exists()) { - plugin.debug("Removing hologram (#" + id + ")"); - hologram.remove(); - } - } - - /** - * Removes the floating item of the shop - */ - public void removeItem() { - if (item != null) { - plugin.debug("Removing shop item (#" + id + ")"); - item.remove(); - } - } - - /** - *

Creates the floating item of the shop

- * Call this after {@link #createHologram()}, because it depends on the hologram's location - */ - private void createItem() { - plugin.debug("Creating item (#" + id + ")"); - - Location itemLocation; - - itemLocation = new Location(location.getWorld(), holoLocation.getX(), location.getY() + 0.9, holoLocation.getZ()); - item = new ShopItem(plugin, product.getItemStack(), itemLocation); - } - - /** - * Runs everything that needs to be called synchronously in order - * to prepare creating the hologram. - */ - private PreCreateResult preCreateHologram() { - plugin.debug("Creating hologram (#" + id + ")"); - - InventoryHolder ih = getInventoryHolder(); - - if (ih == null) return null; - - Chest[] chests = new Chest[2]; - BlockFace face; - - if (ih instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) ih; - Chest r = (Chest) dc.getRightSide(); - Chest l = (Chest) dc.getLeftSide(); - - chests[0] = r; - chests[1] = l; - } else { - chests[0] = (Chest) ih; - } - - if (Utils.getMajorVersion() < 13) { - face = ((org.bukkit.material.Directional) chests[0].getData()).getFacing(); - } else { - face = ((Directional) chests[0].getBlockData()).getFacing(); - } - - return new PreCreateResult(ih.getInventory(), chests, face); - } - - /** - * Acuatlly creates the hologram (async) - */ - private void createHologram(PreCreateResult preResult) { - String[] holoText = getHologramText(preResult.inventory); - holoLocation = getHologramLocation(preResult.chests, preResult.face); - - new BukkitRunnable(){ - @Override - public void run() { - hologram = new Hologram(plugin, holoText, holoLocation); - } - }.runTask(plugin); - } - - /** - * Keep hologram text up to date. - *

Has to be called synchronously!

- */ - public void updateHologramText() { - String[] lines = getHologramText(getInventoryHolder().getInventory()); - String[] currentLines = hologram.getLines(); - - int max = Math.max(lines.length, currentLines.length); - - for (int i = 0; i < max; i++) { - if (i < lines.length) { - hologram.setLine(i, lines[i]); - } else { - hologram.removeLine(i); - } - } - } - - private String[] getHologramText(Inventory inventory) { - List lines = new ArrayList<>(); - - ItemStack itemStack = getProduct().getItemStack(); - - Map requirements = new EnumMap<>(HologramFormat.Requirement.class); - requirements.put(HologramFormat.Requirement.VENDOR, getVendor().getName()); - requirements.put(HologramFormat.Requirement.AMOUNT, getProduct().getAmount()); - requirements.put(HologramFormat.Requirement.ITEM_TYPE, itemStack.getType() + (itemStack.getDurability() > 0 ? ":" + itemStack.getDurability() : "")); - requirements.put(HologramFormat.Requirement.ITEM_NAME, itemStack.hasItemMeta() ? itemStack.getItemMeta().getDisplayName() : null); - requirements.put(HologramFormat.Requirement.HAS_ENCHANTMENT, !LanguageUtils.getEnchantmentString(ItemUtils.getEnchantments(itemStack)).isEmpty()); - requirements.put(HologramFormat.Requirement.BUY_PRICE, getBuyPrice()); - requirements.put(HologramFormat.Requirement.SELL_PRICE, getSellPrice()); - requirements.put(HologramFormat.Requirement.HAS_POTION_EFFECT, ItemUtils.getPotionEffect(itemStack) != null); - requirements.put(HologramFormat.Requirement.IS_MUSIC_DISC, itemStack.getType().isRecord()); - requirements.put(HologramFormat.Requirement.IS_POTION_EXTENDED, ItemUtils.isExtendedPotion(itemStack)); - requirements.put(HologramFormat.Requirement.IS_WRITTEN_BOOK, itemStack.getType() == Material.WRITTEN_BOOK); - requirements.put(HologramFormat.Requirement.IS_BANNER_PATTERN, ItemUtils.isBannerPattern(itemStack)); - requirements.put(HologramFormat.Requirement.ADMIN_SHOP, getShopType() == ShopType.ADMIN); - requirements.put(HologramFormat.Requirement.NORMAL_SHOP, getShopType() == ShopType.NORMAL); - requirements.put(HologramFormat.Requirement.IN_STOCK, Utils.getAmount(inventory, itemStack)); - requirements.put(HologramFormat.Requirement.MAX_STACK, itemStack.getMaxStackSize()); - requirements.put(HologramFormat.Requirement.CHEST_SPACE, Utils.getFreeSpaceForItem(inventory, itemStack)); - requirements.put(HologramFormat.Requirement.DURABILITY, itemStack.getDurability()); - - Map placeholders = new EnumMap<>(Placeholder.class); - placeholders.put(Placeholder.VENDOR, getVendor().getName()); - placeholders.put(Placeholder.AMOUNT, getProduct().getAmount()); - placeholders.put(Placeholder.ITEM_NAME, getProduct().getLocalizedName()); - placeholders.put(Placeholder.ENCHANTMENT, LanguageUtils.getEnchantmentString(ItemUtils.getEnchantments(itemStack))); - placeholders.put(Placeholder.BUY_PRICE, getBuyPrice()); - placeholders.put(Placeholder.SELL_PRICE, getSellPrice()); - placeholders.put(Placeholder.POTION_EFFECT, LanguageUtils.getPotionEffectName(itemStack)); - placeholders.put(Placeholder.MUSIC_TITLE, LanguageUtils.getMusicDiscName(itemStack.getType())); - placeholders.put(Placeholder.BANNER_PATTERN_NAME, LanguageUtils.getBannerPatternName(itemStack.getType())); - placeholders.put(Placeholder.GENERATION, LanguageUtils.getBookGenerationName(itemStack)); - placeholders.put(Placeholder.STOCK, Utils.getAmount(inventory, itemStack)); - placeholders.put(Placeholder.MAX_STACK, itemStack.getMaxStackSize()); - placeholders.put(Placeholder.CHEST_SPACE, Utils.getFreeSpaceForItem(inventory, itemStack)); - placeholders.put(Placeholder.DURABILITY, itemStack.getDurability()); - - int lineCount = plugin.getHologramFormat().getLineCount(); - - for (int i = 0; i < lineCount; i++) { - String format = plugin.getHologramFormat().getFormat(i, requirements, placeholders); - for (Placeholder placeholder : placeholders.keySet()) { - String replace; - - switch (placeholder) { - case BUY_PRICE: - replace = plugin.getEconomy().format(getBuyPrice()); - break; - case SELL_PRICE: - replace = plugin.getEconomy().format(getSellPrice()); - break; - default: - replace = String.valueOf(placeholders.get(placeholder)); - } - - format = format.replace(placeholder.toString(), replace); - } - - if (!format.isEmpty()) { - lines.add(format); - } - } - - return lines.toArray(new String[0]); - } - - private Location getHologramLocation(Chest[] chests, BlockFace face) { - World w = location.getWorld(); - int x = location.getBlockX(); - int y = location.getBlockY(); - int z = location.getBlockZ(); - - Location holoLocation = new Location(w, x, y, z); - - double deltaY = -0.6; - - if (Config.hologramFixedBottom) deltaY = -0.85; - - if (chests[1] != null) { - Chest c1 = Utils.getMajorVersion() >= 13 && (face == BlockFace.NORTH || face == BlockFace.EAST) ? chests[1] : chests[0]; - Chest c2 = Utils.getMajorVersion() >= 13 && (face == BlockFace.NORTH || face == BlockFace.EAST) ? chests[0] : chests[1]; - - if (holoLocation.equals(c1.getLocation())) { - if (c1.getX() != c2.getX()) { - holoLocation.add(0, deltaY, 0.5); - } else if (c1.getZ() != c2.getZ()) { - holoLocation.add(0.5, deltaY, 0); - } else { - holoLocation.add(0.5, deltaY, 0.5); - } - } else { - if (c1.getX() != c2.getX()) { - holoLocation.add(1, deltaY, 0.5); - } else if (c1.getZ() != c2.getZ()) { - holoLocation.add(0.5, deltaY, 1); - } else { - holoLocation.add(0.5, deltaY, 0.5); - } - } - } else { - holoLocation.add(0.5, deltaY, 0.5); - } - - holoLocation.add(0, Config.hologramLift, 0); - - return holoLocation; - } - - /** - * @return Whether an ID has been assigned to the shop - */ - public boolean hasId() { - return id != -1; - } - - /** - *

Assign an ID to the shop.

- * Only works for the first time! - * @param id ID to set for this shop - */ - public void setId(int id) { - if (this.id == -1) { - this.id = id; - } - } - - /** - * @return Whether the shop has already been created - */ - public boolean isCreated() { - return created; - } - - /** - * @return The ID of the shop - */ - public int getID() { - return id; - } - - /** - * @return Vendor of the shop; probably the creator of it - */ - public OfflinePlayer getVendor() { - return vendor; - } - - /** - * @return Product the shop sells (or buys) - */ - public ShopProduct getProduct() { - return product; - } - - /** - * @return Location of (one of) the shop's chest - */ - public Location getLocation() { - return location; - } - - /** - * @return Buy price of the shop - */ - public double getBuyPrice() { - return buyPrice; - } - - /** - * @return Sell price of the shop - */ - public double getSellPrice() { - return sellPrice; - } - - /** - * @return Type of the shop - */ - public ShopType getShopType() { - return shopType; - } - - /** - * @return Hologram of the shop - */ - public Hologram getHologram() { - return hologram; - } - - /** - * @return Floating {@link ShopItem} of the shop - */ - public ShopItem getItem() { - return item; - } - - public boolean hasHologram() { - return hologram != null; - } - - public boolean hasItem() { - return item != null; - } - - /** - * @return {@link InventoryHolder} of the shop or null if the shop has no chest. - */ - public InventoryHolder getInventoryHolder() { - Block b = getLocation().getBlock(); - - if (b.getType() == Material.CHEST || b.getType() == Material.TRAPPED_CHEST) { - Chest chest = (Chest) b.getState(); - return chest.getInventory().getHolder(); - } - - return null; - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/shop/ShopItem.java b/implementation/src/main/java/de/epiceric/shopchest/shop/ShopItem.java deleted file mode 100644 index 36014a7..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/shop/ShopItem.java +++ /dev/null @@ -1,161 +0,0 @@ -package de.epiceric.shopchest.shop; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -import java.lang.reflect.InvocationTargetException; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; - -public class ShopItem { - - private final ShopChest plugin; - - // concurrent since update task is in async thread - // since this is a fake entity, item is hidden per default - private final Set viewers = Collections.newSetFromMap(new ConcurrentHashMap()); - private final ItemStack itemStack; - private final Location location; - private final UUID uuid = UUID.randomUUID(); - private final int entityId; - - private final Class packetPlayOutEntityDestroyClass = Utils.getNMSClass("PacketPlayOutEntityDestroy"); - private final Class packetPlayOutEntityVelocityClass = Utils.getNMSClass("PacketPlayOutEntityVelocity"); - private final Class packetPlayOutEntityMetadataClass = Utils.getNMSClass("PacketPlayOutEntityMetadata"); - private final Class dataWatcherClass = Utils.getNMSClass("DataWatcher"); - private final Class vec3dClass = Utils.getNMSClass("Vec3D"); - private final Class craftItemStackClass = Utils.getCraftClass("inventory.CraftItemStack"); - private final Class nmsItemStackClass = Utils.getNMSClass("ItemStack"); - - public ShopItem(ShopChest plugin, ItemStack itemStack, Location location) { - this.plugin = plugin; - this.itemStack = itemStack; - this.location = location; - this.entityId = Utils.getFreeEntityId(); - - Class entityClass = Utils.getNMSClass("Entity"); - - Class[] requiredClasses = new Class[] { - nmsItemStackClass, craftItemStackClass, packetPlayOutEntityMetadataClass, dataWatcherClass, - packetPlayOutEntityDestroyClass, entityClass, packetPlayOutEntityVelocityClass, - }; - - for (Class c : requiredClasses) { - if (c == null) { - plugin.debug("Failed to create shop item: Could not find all required classes"); - return; - } - } - } - - /** - * @return Clone of the location, where the shop item should be (it could have been moved by something, even though it shouldn't) - */ - public Location getLocation() { - return location.clone(); - } - - /** - * @return A clone of this Item's {@link ItemStack} - */ - public ItemStack getItemStack() { - return itemStack.clone(); - } - - /** - * @param p Player to check - * @return Whether the item is visible to the player - */ - public boolean isVisible(Player p) { - return viewers.contains(p.getUniqueId()); - } - - /** - * @param p Player to which the item should be shown - */ - public void showPlayer(Player p) { - showPlayer(p, false); - } - - /** - * @param p Player to which the item should be shown - * @param force whether to force or not - */ - public void showPlayer(Player p, boolean force) { - if (viewers.add(p.getUniqueId()) || force) { - try { - Object nmsItemStack = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, itemStack); - Object dataWatcher = Utils.createDataWatcher(null, nmsItemStack); - Utils.sendPacket(plugin, Utils.createPacketSpawnEntity(plugin, entityId, uuid, location, EntityType.DROPPED_ITEM), p); - Utils.sendPacket(plugin, packetPlayOutEntityMetadataClass.getConstructor(int.class, dataWatcherClass, boolean.class).newInstance(entityId, dataWatcher, true), p); - if (Utils.getMajorVersion() < 14) { - Utils.sendPacket(plugin, packetPlayOutEntityVelocityClass.getConstructor(int.class, double.class, double.class, double.class).newInstance(entityId, 0D, 0D, 0D), p); - } else { - Object vec3d = vec3dClass.getConstructor(double.class, double.class, double.class).newInstance(0D, 0D, 0D); - Utils.sendPacket(plugin, packetPlayOutEntityVelocityClass.getConstructor(int.class, vec3dClass).newInstance(entityId, vec3d), p); - } - } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | SecurityException | InstantiationException e) { - plugin.getLogger().severe("Failed to create item!"); - plugin.debug("Failed to create item!"); - plugin.debug(e); - } - } - } - - /** - * @param p Player from which the item should be hidden - */ - public void hidePlayer(Player p) { - hidePlayer(p, false); - } - - /** - * @param p Player from which the item should be hidden - * @param force whether to force or not - */ - public void hidePlayer(Player p, boolean force) { - if (viewers.remove(p.getUniqueId()) || force) { - try { - if (p.isOnline()) { - Object packetPlayOutEntityDestroy = packetPlayOutEntityDestroyClass.getConstructor(int[].class).newInstance((Object) new int[]{entityId}); - Utils.sendPacket(plugin, packetPlayOutEntityDestroy, p); - } - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | InstantiationException e) { - plugin.getLogger().severe("Failed to destroy shop item"); - plugin.debug("Failed to destroy shop item with reflection"); - plugin.debug(e); - } - } - } - - public void resetVisible(Player p) { - viewers.remove(p.getUniqueId()); - } - - /** - * Removes the item.
- * Item will be hidden from all players - */ - public void remove() { - // Avoid ConcurrentModificationException - for (UUID uuid : new ArrayList<>(viewers)) { - Player p = Bukkit.getPlayer(uuid); - if (p != null) hidePlayer(p); - } - } - - /** - * Respawns the item at the set location for a player - * @param p Player, for which the item should be reset - */ - public void resetForPlayer(Player p) { - hidePlayer(p); - showPlayer(p); - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/shop/ShopProduct.java b/implementation/src/main/java/de/epiceric/shopchest/shop/ShopProduct.java deleted file mode 100644 index b0030ad..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/shop/ShopProduct.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.epiceric.shopchest.shop; - -import org.bukkit.inventory.ItemStack; - -import de.epiceric.shopchest.language.LanguageUtils; - -public class ShopProduct { - - private final ItemStack itemStack; - private final int amount; - - public ShopProduct(ItemStack itemStack, int amount) { - this.itemStack = new ItemStack(itemStack); - this.itemStack.setAmount(1); - this.amount = amount; - } - - public ShopProduct(ItemStack itemStack) { - this(itemStack, itemStack.getAmount()); - } - - /** - * @return The localized name of the product's {@link ItemStack} in the selected language file. - */ - public String getLocalizedName() { - return LanguageUtils.getItemName(getItemStack()); - } - - /** - * @return The {@link ItemStack} with an amount of {@code 1}. - */ - public ItemStack getItemStack() { - return itemStack; - } - - /** - * @return The amount - */ - public int getAmount() { - return amount; - } - -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/sql/Database.java b/implementation/src/main/java/de/epiceric/shopchest/sql/Database.java deleted file mode 100644 index 9443be2..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/sql/Database.java +++ /dev/null @@ -1,736 +0,0 @@ -package de.epiceric.shopchest.sql; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.event.ShopBuySellEvent; -import de.epiceric.shopchest.event.ShopBuySellEvent.Type; -import de.epiceric.shopchest.exceptions.WorldNotFoundException; -import de.epiceric.shopchest.shop.Shop; -import de.epiceric.shopchest.shop.ShopProduct; -import de.epiceric.shopchest.shop.Shop.ShopType; -import de.epiceric.shopchest.utils.Callback; -import de.epiceric.shopchest.utils.Utils; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - -import com.zaxxer.hikari.HikariDataSource; - -public abstract class Database { - private final Set notFoundWorlds = new HashSet<>(); - private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - String tableShops; - String tableLogs; - String tableLogouts; - String tableFields; - - ShopChest plugin; - HikariDataSource dataSource; - - protected Database(ShopChest plugin) { - this.plugin = plugin; - } - - abstract HikariDataSource getDataSource(); - - abstract String getQueryCreateTableShops(); - - abstract String getQueryCreateTableLog(); - - abstract String getQueryCreateTableLogout(); - - abstract String getQueryCreateTableFields(); - - abstract String getQueryGetTable(); - - private int getDatabaseVersion() throws SQLException { - try (Connection con = dataSource.getConnection()) { - try (Statement s = con.createStatement()) { - ResultSet rs = s.executeQuery("SELECT value FROM " + tableFields + " WHERE field='version'"); - if (rs.next()) { - return rs.getInt("value"); - } - } - } - return 0; - } - - private void setDatabaseVersion(int version) throws SQLException { - String queryUpdateVersion = "REPLACE INTO " + tableFields + " VALUES ('version', ?)"; - try (Connection con = dataSource.getConnection()) { - try (PreparedStatement ps = con.prepareStatement(queryUpdateVersion)) { - ps.setInt(1, version); - ps.executeUpdate(); - } - } - } - - private boolean update() throws SQLException { - String queryGetTable = getQueryGetTable(); - - try (Connection con = dataSource.getConnection()) { - boolean needsUpdate1 = false; // update "shop_log" to "economy_logs" and update "shops" with prefixes - boolean needsUpdate2 = false; // create field table and set database version - - try (PreparedStatement ps = con.prepareStatement(queryGetTable)) { - ps.setString(1, "shop_log"); - ResultSet rs = ps.executeQuery(); - if (rs.next()) { - needsUpdate1 = true; - } - } - - try (PreparedStatement ps = con.prepareStatement(queryGetTable)) { - ps.setString(1, tableFields); - ResultSet rs = ps.executeQuery(); - if (!rs.next()) { - needsUpdate2 = true; - } - } - - if (needsUpdate1) { - String queryRenameTableLogouts = "ALTER TABLE player_logout RENAME TO " + tableLogouts; - String queryRenameTableLogs = "ALTER TABLE shop_log RENAME TO backup_shop_log"; // for backup - String queryRenameTableShops = "ALTER TABLE shops RENAME TO backup_shops"; // for backup - - plugin.getLogger().info("Updating database... (#1)"); - - // Rename logout table - try (Statement s = con.createStatement()) { - s.executeUpdate(queryRenameTableLogouts); - } - - // Backup shops table - try (Statement s = con.createStatement()) { - s.executeUpdate(queryRenameTableShops); - } - - // Backup log table - try (Statement s = con.createStatement()) { - s.executeUpdate(queryRenameTableLogs); - } - - // Create new shops table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableShops()); - } - - // Create new log table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableLog()); - } - - // Convert shop table - try (Statement s = con.createStatement()) { - ResultSet rs = s.executeQuery("SELECT id,product FROM backup_shops"); - while (rs.next()) { - ItemStack is = Utils.decode(rs.getString("product")); - int amount = is.getAmount(); - is.setAmount(1); - String product = Utils.encode(is); - - String insertQuery = "INSERT INTO " + tableShops + " SELECT id,vendor,?,?,world,x,y,z,buyprice,sellprice,shoptype FROM backup_shops WHERE id = ?"; - try (PreparedStatement ps = con.prepareStatement(insertQuery)) { - ps.setString(1, product); - ps.setInt(2, amount); - ps.setInt(3, rs.getInt("id")); - ps.executeUpdate(); - } - } - } - - // Convert log table - try (Statement s = con.createStatement()) { - ResultSet rs = s.executeQuery("SELECT id,timestamp,executor,product,vendor FROM backup_shop_log"); - while (rs.next()) { - String timestamp = rs.getString("timestamp"); - long time = 0L; - - try { - time = dateFormat.parse(timestamp).getTime(); - } catch (ParseException e) { - plugin.debug("Failed to parse timestamp '" + timestamp + "': Time is set to 0"); - plugin.debug(e); - } - - String player = rs.getString("executor"); - String playerUuid = player.substring(0, 36); - String playerName = player.substring(38, player.length() - 1); - - String oldProduct = rs.getString("product"); - String product = oldProduct.split(" x ")[1]; - int amount = Integer.valueOf(oldProduct.split(" x ")[0]); - - String vendor = rs.getString("vendor"); - String vendorUuid = vendor.substring(0, 36); - String vendorName = vendor.substring(38).replaceAll("\\)( \\(ADMIN\\))?", ""); - boolean admin = vendor.endsWith("(ADMIN)"); - - String insertQuery = "INSERT INTO " + tableLogs + " SELECT id,-1,timestamp,?,?,?,?,'Unknown',?,?,?,?,world,x,y,z,price,type FROM backup_shop_log WHERE id = ?"; - try (PreparedStatement ps = con.prepareStatement(insertQuery)) { - ps.setLong(1, time); - ps.setString(2, playerName); - ps.setString(3, playerUuid); - ps.setString(4, product); - ps.setInt(5, amount); - ps.setString(6, vendorName); - ps.setString(7, vendorUuid); - ps.setBoolean(8, admin); - ps.setInt(9, rs.getInt("id")); - ps.executeUpdate(); - } - } - } - } - - if (needsUpdate2) { - plugin.getLogger().info("Updating database... (#2)"); - - // Create fields table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableFields()); - } - - setDatabaseVersion(2); - } - - int databaseVersion = getDatabaseVersion(); - - if (databaseVersion < 3) { - // plugin.getLogger().info("Updating database... (#3)"); - - // Update database structure... - - // setDatabaseVersion(3); - } - - int newDatabaseVersion = getDatabaseVersion(); - return needsUpdate1 || needsUpdate2 || newDatabaseVersion > databaseVersion; - } - } - - /** - *

(Re-)Connects to the the database and initializes it.

- * - * All tables are created if necessary and if the database - * structure has to be updated, that is done as well. - * - * @param callback Callback that - if succeeded - returns the amount of shops - * that were found (as {@code int}) - */ - public void connect(final Callback callback) { - if (!Config.databaseTablePrefix.matches("^([a-zA-Z0-9\\-\\_]+)?$")) { - // Only letters, numbers dashes and underscores are allowed - plugin.getLogger().severe("Database table prefix contains illegal letters, using 'shopchest_' prefix."); - Config.databaseTablePrefix = "shopchest_"; - } - - this.tableShops = Config.databaseTablePrefix + "shops"; - this.tableLogs = Config.databaseTablePrefix + "economy_logs"; - this.tableLogouts = Config.databaseTablePrefix + "player_logouts"; - this.tableFields = Config.databaseTablePrefix + "fields"; - - new BukkitRunnable() { - @Override - public void run() { - disconnect(); - - try { - dataSource = getDataSource(); - } catch (Exception e) { - callback.onError(e); - plugin.debug(e); - return; - } - - if (dataSource == null) { - Exception e = new IllegalStateException("Data source is null"); - callback.onError(e); - plugin.debug(e); - return; - } - - try (Connection con = dataSource.getConnection()) { - // Update database structure if necessary - if (update()) { - plugin.getLogger().info("Updating database finished"); - } - - // Create shop table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableShops()); - } - - // Create log table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableLog()); - } - - // Create logout table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableLogout()); - } - - // Create fields table - try (Statement s = con.createStatement()) { - s.executeUpdate(getQueryCreateTableFields()); - } - - // Clean up economy log - if (Config.cleanupEconomyLogDays > 0) { - cleanUpEconomy(false); - } - - // Count shops entries in database - try (Statement s = con.createStatement()) { - ResultSet rs = s.executeQuery("SELECT COUNT(id) FROM " + tableShops); - if (rs.next()) { - int count = rs.getInt(1); - - plugin.debug("Initialized database with " + count + " entries"); - - if (callback != null) { - callback.callSyncResult(count); - } - } else { - throw new SQLException("Count result set has no entries"); - } - } - } catch (SQLException e) { - if (callback != null) { - callback.callSyncError(e); - } - - plugin.getLogger().severe("Failed to initialize or connect to database"); - plugin.debug("Failed to initialize or connect to database"); - plugin.debug(e); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Remove a shop from the database - * - * @param shop Shop to remove - * @param callback Callback that - if succeeded - returns {@code null} - */ - public void removeShop(final Shop shop, final Callback callback) { - new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement("DELETE FROM " + tableShops + " WHERE id = ?")) { - ps.setInt(1, shop.getID()); - ps.executeUpdate(); - - plugin.debug("Removing shop from database (#" + shop.getID() + ")"); - - if (callback != null) { - callback.callSyncResult(null); - } - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to remove shop from database"); - plugin.debug("Failed to remove shop from database (#" + shop.getID() + ")"); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Get all shops from the database - * - * @param showConsoleMessages Whether console messages (errors or warnings) - * should be shown - * @param callback Callback that - if succeeded - returns a read-only - * collection of all shops (as - * {@code Collection}) - */ - public void getShops(final boolean showConsoleMessages, final Callback> callback) { - new BukkitRunnable() { - @Override - public void run() { - ArrayList shops = new ArrayList<>(); - - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement("SELECT * FROM " + tableShops + "")) { - ResultSet rs = ps.executeQuery(); - - while (rs.next()) { - int id = rs.getInt("id"); - - plugin.debug("Getting Shop... (#" + id + ")"); - - String worldName = rs.getString("world"); - World world = Bukkit.getWorld(worldName); - - if (world == null) { - WorldNotFoundException ex = new WorldNotFoundException(worldName); - if (showConsoleMessages && !notFoundWorlds.contains(worldName)) { - plugin.getLogger().warning(ex.getMessage()); - notFoundWorlds.add(worldName); - } - plugin.debug("Failed to get shop (#" + id + ")"); - plugin.debug(ex); - continue; - } - - int x = rs.getInt("x"); - int y = rs.getInt("y"); - int z = rs.getInt("z"); - Location location = new Location(world, x, y, z); - OfflinePlayer vendor = Bukkit.getOfflinePlayer(UUID.fromString(rs.getString("vendor"))); - ItemStack itemStack = Utils.decode(rs.getString("product")); - int amount = rs.getInt("amount"); - ShopProduct product = new ShopProduct(itemStack, amount); - double buyPrice = rs.getDouble("buyprice"); - double sellPrice = rs.getDouble("sellprice"); - ShopType shopType = ShopType.valueOf(rs.getString("shoptype")); - - plugin.debug("Initializing new shop... (#" + id + ")"); - - shops.add(new Shop(id, plugin, vendor, product, location, buyPrice, sellPrice, shopType)); - } - - if (callback != null) { - callback.callSyncResult(Collections.unmodifiableCollection(shops)); - } - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to get shops from database"); - plugin.debug("Failed to get shops"); - plugin.debug(ex); - } - - } - }.runTaskAsynchronously(plugin); - } - - /** - * Adds a shop to the database - * - * @param shop Shop to add - * @param callback Callback that - if succeeded - returns the ID the shop was - * given (as {@code int}) - */ - public void addShop(final Shop shop, final Callback callback) { - final String queryNoId = "REPLACE INTO " + tableShops + " (vendor,product,amount,world,x,y,z,buyprice,sellprice,shoptype) VALUES(?,?,?,?,?,?,?,?,?,?)"; - final String queryWithId = "REPLACE INTO " + tableShops + " (id,vendor,product,amount,world,x,y,z,buyprice,sellprice,shoptype) VALUES(?,?,?,?,?,?,?,?,?,?,?)"; - - new BukkitRunnable() { - @Override - public void run() { - String query = shop.hasId() ? queryWithId : queryNoId; - - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement(query, Statement.RETURN_GENERATED_KEYS)) { - int i = 0; - if (shop.hasId()) { - i = 1; - ps.setInt(1, shop.getID()); - } - - ps.setString(i+1, shop.getVendor().getUniqueId().toString()); - ps.setString(i+2, Utils.encode(shop.getProduct().getItemStack())); - ps.setInt(i+3, shop.getProduct().getAmount()); - ps.setString(i+4, shop.getLocation().getWorld().getName()); - ps.setInt(i+5, shop.getLocation().getBlockX()); - ps.setInt(i+6, shop.getLocation().getBlockY()); - ps.setInt(i+7, shop.getLocation().getBlockZ()); - ps.setDouble(i+8, shop.getBuyPrice()); - ps.setDouble(i+9, shop.getSellPrice()); - ps.setString(i+10, shop.getShopType().toString()); - ps.executeUpdate(); - - if (!shop.hasId()) { - int shopId = -1; - ResultSet rs = ps.getGeneratedKeys(); - if (rs.next()) { - shopId = rs.getInt(1); - } - - shop.setId(shopId); - } - - if (callback != null) { - callback.callSyncResult(shop.getID()); - } - - plugin.debug("Adding shop to database (#" + shop.getID() + ")"); - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to add shop to database"); - plugin.debug("Failed to add shop to database (#" + shop.getID() + ")"); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Log an economy transaction to the database - * - * @param executor Player who bought/sold something - * @param shop The {@link Shop} the player bought from or sold to - * @param product The {@link ItemStack} that was bought/sold - * @param price The price the product was bought or sold for - * @param type Whether the executor bought or sold - * @param callback Callback that - if succeeded - returns {@code null} - */ - public void logEconomy(final Player executor, Shop shop, ShopProduct product, double price, Type type, final Callback callback) { - final String query = "INSERT INTO " + tableLogs + " (shop_id,timestamp,time,player_name,player_uuid,product_name,product,amount," - + "vendor_name,vendor_uuid,admin,world,x,y,z,price,type) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; - - if (Config.enableEconomyLog) { - new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { - - long millis = System.currentTimeMillis(); - - ps.setInt(1, shop.getID()); - ps.setString(2, dateFormat.format(millis)); - ps.setLong(3, millis); - ps.setString(4, executor.getName()); - ps.setString(5, executor.getUniqueId().toString()); - ps.setString(6, product.getLocalizedName()); - ps.setString(7, Utils.encode(product.getItemStack())); - ps.setInt(8, product.getAmount()); - ps.setString(9, shop.getVendor().getName()); - ps.setString(10, shop.getVendor().getUniqueId().toString()); - ps.setBoolean(11, shop.getShopType() == ShopType.ADMIN); - ps.setString(12, shop.getLocation().getWorld().getName()); - ps.setInt(13, shop.getLocation().getBlockX()); - ps.setInt(14, shop.getLocation().getBlockY()); - ps.setInt(15, shop.getLocation().getBlockZ()); - ps.setDouble(16, price); - ps.setString(17, type.toString()); - ps.executeUpdate(); - - if (callback != null) { - callback.callSyncResult(null); - } - - plugin.debug("Logged economy transaction to database"); - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to log economy transaction to database"); - plugin.debug("Failed to log economy transaction to database"); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } else { - if (callback != null) { - callback.callSyncResult(null); - } - } - } - - /** - * Cleans up the economy log to reduce file size - * - * @param async Whether the call should be executed asynchronously - */ - public void cleanUpEconomy(boolean async) { - BukkitRunnable runnable = new BukkitRunnable() { - @Override - public void run() { - long time = System.currentTimeMillis() - Config.cleanupEconomyLogDays * 86400000L; - String queryCleanUpLog = "DELETE FROM " + tableLogs + " WHERE time < " + time; - String queryCleanUpPlayers = "DELETE FROM " + tableLogouts + " WHERE time < " + time; - - try (Connection con = dataSource.getConnection(); - Statement s = con.createStatement(); - Statement s2 = con.createStatement()) { - s.executeUpdate(queryCleanUpLog); - s2.executeUpdate(queryCleanUpPlayers); - - plugin.getLogger().info("Cleaned up economy log"); - plugin.debug("Cleaned up economy log"); - } catch (SQLException ex) { - plugin.getLogger().severe("Failed to clean up economy log"); - plugin.debug("Failed to clean up economy log"); - plugin.debug(ex); - } - } - }; - - if (async) { - runnable.runTaskAsynchronously(plugin); - } else { - runnable.run(); - } - } - - /** - * Get the revenue a player got while he was offline - * - * @param player Player whose revenue to get - * @param logoutTime Time in milliseconds when he logged out the last time - * @param callback Callback that - if succeeded - returns the revenue the - * player made while offline (as {@code double}) - */ - public void getRevenue(final Player player, final long logoutTime, final Callback callback) { - new BukkitRunnable() { - @Override - public void run() { - double revenue = 0; - - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement("SELECT * FROM " + tableLogs + " WHERE vendor_uuid = ?")) { - ps.setString(1, player.getUniqueId().toString()); - ResultSet rs = ps.executeQuery(); - - while (rs.next()) { - long timestamp = rs.getLong("time"); - double singleRevenue = rs.getDouble("price"); - ShopBuySellEvent.Type type = ShopBuySellEvent.Type.valueOf(rs.getString("type")); - - if (type == ShopBuySellEvent.Type.SELL) { - singleRevenue = -singleRevenue; - } - - if (timestamp > logoutTime) { - revenue += singleRevenue; - } - } - - if (callback != null) { - callback.callSyncResult(revenue); - } - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to get revenue from database"); - plugin.debug("Failed to get revenue from player \"" + player.getUniqueId().toString() + "\""); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Log a logout to the database - * - * @param player Player who logged out - * @param callback Callback that - if succeeded - returns {@code null} - */ - public void logLogout(final Player player, final Callback callback) { - new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement("REPLACE INTO " + tableLogouts + " (player,time) VALUES(?,?)")) { - ps.setString(1, player.getUniqueId().toString()); - ps.setLong(2, System.currentTimeMillis()); - ps.executeUpdate(); - - if (callback != null) { - callback.callSyncResult(null); - } - - plugin.debug("Logged logout to database"); - } catch (final SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to log last logout to database"); - plugin.debug("Failed to log logout to database"); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Get the last logout of a player - * - * @param player Player who logged out - * @param callback Callback that - if succeeded - returns the time in - * milliseconds the player logged out (as {@code long}) - * or {@code -1} if the player has not logged out yet. - */ - public void getLastLogout(final Player player, final Callback callback) { - new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - PreparedStatement ps = con.prepareStatement("SELECT * FROM " + tableLogouts + " WHERE player = ?")) { - ps.setString(1, player.getUniqueId().toString()); - ResultSet rs = ps.executeQuery(); - - if (rs.next()) { - if (callback != null) { - callback.callSyncResult(rs.getLong("time")); - } - } - - if (callback != null) { - callback.callSyncResult(-1L); - } - } catch (SQLException ex) { - if (callback != null) { - callback.callSyncError(ex); - } - - plugin.getLogger().severe("Failed to get last logout from database"); - plugin.debug("Failed to get last logout from player \"" + player.getName() + "\""); - plugin.debug(ex); - } - } - }.runTaskAsynchronously(plugin); - } - - /** - * Closes the data source - */ - public void disconnect() { - if (dataSource != null) { - dataSource.close(); - dataSource = null; - } - } - - public enum DatabaseType { - SQLite, MySQL - } -} \ No newline at end of file diff --git a/implementation/src/main/java/de/epiceric/shopchest/sql/MySQL.java b/implementation/src/main/java/de/epiceric/shopchest/sql/MySQL.java deleted file mode 100644 index 2c97b0c..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/sql/MySQL.java +++ /dev/null @@ -1,109 +0,0 @@ -package de.epiceric.shopchest.sql; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import org.bukkit.scheduler.BukkitRunnable; - -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; - -import com.zaxxer.hikari.HikariConfig; -import com.zaxxer.hikari.HikariDataSource; - -public class MySQL extends Database { - - public MySQL(ShopChest plugin) { - super(plugin); - } - - @Override - HikariDataSource getDataSource() { - HikariConfig config = new HikariConfig(); - config.setJdbcUrl(String.format("jdbc:mysql://%s:%d/%s?autoReconnect=true&useSSL=false&serverTimezone=UTC", - Config.databaseMySqlHost, Config.databaseMySqlPort, Config.databaseMySqlDatabase)); - config.setUsername(Config.databaseMySqlUsername); - config.setPassword(Config.databaseMySqlPassword); - config.setConnectionTestQuery("SELECT 1"); - - return new HikariDataSource(config); - } - - /** - * Sends an asynchronous ping to the database - */ - public void ping() { - new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - Statement s = con.createStatement()) { - plugin.debug("Pinging to MySQL server..."); - s.execute("/* ping */ SELECT 1"); - } catch (SQLException ex) { - plugin.getLogger().severe("Failed to ping to MySQL server. Trying to reconnect..."); - plugin.debug("Failed to ping to MySQL server. Trying to reconnect..."); - connect(null); - } - } - }.runTaskAsynchronously(plugin); - } - - @Override - String getQueryCreateTableShops() { - return "CREATE TABLE IF NOT EXISTS " + tableShops + " (" - + "id INTEGER PRIMARY KEY AUTO_INCREMENT," - + "vendor TINYTEXT NOT NULL," - + "product TEXT NOT NULL," - + "amount INTEGER NOT NULL," - + "world TINYTEXT NOT NULL," - + "x INTEGER NOT NULL," - + "y INTEGER NOT NULL," - + "z INTEGER NOT NULL," - + "buyprice FLOAT NOT NULL," - + "sellprice FLOAT NOT NULL," - + "shoptype TINYTEXT NOT NULL)"; - } - - @Override - String getQueryCreateTableLog() { - return "CREATE TABLE IF NOT EXISTS " + tableLogs + " (" - + "id INTEGER PRIMARY KEY AUTO_INCREMENT," - + "shop_id INTEGER NOT NULL," - + "timestamp TINYTEXT NOT NULL," - + "time LONG NOT NULL," - + "player_name TINYTEXT NOT NULL," - + "player_uuid TINYTEXT NOT NULL," - + "product_name TINYTEXT NOT NULL," - + "product TEXT NOT NULL," - + "amount INTEGER NOT NULL," - + "vendor_name TINYTEXT NOT NULL," - + "vendor_uuid TINYTEXT NOT NULL," - + "admin BIT NOT NULL," - + "world TINYTEXT NOT NULL," - + "x INTEGER NOT NULL," - + "y INTEGER NOT NULL," - + "z INTEGER NOT NULL," - + "price FLOAT NOT NULL," - + "type TINYTEXT NOT NULL)"; - } - - @Override - String getQueryCreateTableLogout() { - return "CREATE TABLE IF NOT EXISTS " + tableLogouts + " (" - + "player VARCHAR(36) PRIMARY KEY NOT NULL," - + "time LONG NOT NULL)"; - } - - @Override - String getQueryCreateTableFields() { - return "CREATE TABLE IF NOT EXISTS " + tableFields + " (" - + "field VARCHAR(32) PRIMARY KEY NOT NULL," - + "value INTEGER NOT NULL)"; - } - - @Override - String getQueryGetTable() { - return "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME=?"; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/sql/SQLite.java b/implementation/src/main/java/de/epiceric/shopchest/sql/SQLite.java deleted file mode 100644 index 07dd334..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/sql/SQLite.java +++ /dev/null @@ -1,140 +0,0 @@ -package de.epiceric.shopchest.sql; - -import de.epiceric.shopchest.ShopChest; -import org.bukkit.scheduler.BukkitRunnable; - -import java.io.File; -import java.io.IOException; -import java.sql.Connection; -import java.sql.SQLException; -import java.sql.Statement; - -import com.zaxxer.hikari.HikariConfig; -import com.zaxxer.hikari.HikariDataSource; - -public class SQLite extends Database { - - public SQLite(ShopChest plugin) { - super(plugin); - } - - @Override - HikariDataSource getDataSource() { - try { - // Initialize driver class so HikariCP can find it - Class.forName("org.sqlite.JDBC"); - } catch (ClassNotFoundException e) { - plugin.getLogger().severe("Failed to initialize SQLite driver"); - plugin.debug("Failed to initialize SQLite driver"); - plugin.debug(e); - return null; - } - - File folder = plugin.getDataFolder(); - File dbFile = new File(folder, "shops.db"); - - if (!dbFile.exists()) { - try { - dbFile.createNewFile(); - } catch (IOException ex) { - plugin.getLogger().severe("Failed to create database file"); - plugin.debug("Failed to create database file"); - plugin.debug(ex); - return null; - } - } - - HikariConfig config = new HikariConfig(); - config.setJdbcUrl(String.format("jdbc:sqlite:" + dbFile)); - config.setConnectionTestQuery("SELECT 1"); - - return new HikariDataSource(config); - } - - /** - * Vacuums the database to reduce file size - * - * @param async Whether the call should be executed asynchronously - */ - public void vacuum(boolean async) { - BukkitRunnable runnable = new BukkitRunnable() { - @Override - public void run() { - try (Connection con = dataSource.getConnection(); - Statement s = con.createStatement()) { - s.executeUpdate("VACUUM"); - - plugin.debug("Vacuumed SQLite database"); - } catch (final SQLException ex) { - plugin.getLogger().severe("Failed to vacuum database"); - plugin.debug("Failed to vacuum database"); - plugin.debug(ex); - } - } - }; - - if (async) { - runnable.runTaskAsynchronously(plugin); - } else { - runnable.run(); - } - } - - @Override - String getQueryCreateTableShops() { - return "CREATE TABLE IF NOT EXISTS " + tableShops + " (" - + "id INTEGER PRIMARY KEY AUTOINCREMENT," - + "vendor TINYTEXT NOT NULL," - + "product TEXT NOT NULL," - + "amount INTEGER NOT NULL," - + "world TINYTEXT NOT NULL," - + "x INTEGER NOT NULL," - + "y INTEGER NOT NULL," - + "z INTEGER NOT NULL," - + "buyprice FLOAT NOT NULL," - + "sellprice FLOAT NOT NULL," - + "shoptype TINYTEXT NOT NULL)"; - } - - @Override - String getQueryCreateTableLog() { - return "CREATE TABLE IF NOT EXISTS " + tableLogs + " (" - + "id INTEGER PRIMARY KEY AUTOINCREMENT," - + "shop_id INTEGER NOT NULL," - + "timestamp TINYTEXT NOT NULL," - + "time LONG NOT NULL," - + "player_name TINYTEXT NOT NULL," - + "player_uuid TINYTEXT NOT NULL," - + "product_name TINYTEXT NOT NULL," - + "product TEXT NOT NULL," - + "amount INTEGER NOT NULL," - + "vendor_name TINYTEXT NOT NULL," - + "vendor_uuid TINYTEXT NOT NULL," - + "admin BIT NOT NULL," - + "world TINYTEXT NOT NULL," - + "x INTEGER NOT NULL," - + "y INTEGER NOT NULL," - + "z INTEGER NOT NULL," - + "price FLOAT NOT NULL," - + "type TINYTEXT NOT NULL)"; - } - - @Override - String getQueryCreateTableLogout() { - return "CREATE TABLE IF NOT EXISTS " + tableLogouts + " (" - + "player VARCHAR(36) PRIMARY KEY NOT NULL," - + "time LONG NOT NULL)"; - } - - @Override - String getQueryCreateTableFields() { - return "CREATE TABLE IF NOT EXISTS " + tableFields + " (" - + "field VARCHAR(32) PRIMARY KEY NOT NULL," - + "value INTEGER NOT NULL)"; - } - - @Override - String getQueryGetTable() { - return "SELECT name FROM sqlite_master WHERE type='table' AND name=?"; - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/Callback.java b/implementation/src/main/java/de/epiceric/shopchest/utils/Callback.java deleted file mode 100644 index 2c2b388..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/Callback.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.epiceric.shopchest.utils; - -import de.epiceric.shopchest.ShopChest; -import org.bukkit.scheduler.BukkitRunnable; - -public abstract class Callback { - private ShopChest plugin; - - public Callback(ShopChest plugin) { - this.plugin = plugin; - } - - public void onResult(T result) {} - - public void onError(Throwable throwable) {} - - public final void callSyncResult(final T result) { - new BukkitRunnable() { - @Override - public void run() { - onResult(result); - } - }.runTask(plugin); - } - - public final void callSyncError(final Throwable throwable) { - new BukkitRunnable() { - @Override - public void run() { - onError(throwable); - } - }.runTask(plugin); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/ClickType.java b/implementation/src/main/java/de/epiceric/shopchest/utils/ClickType.java deleted file mode 100644 index cf80916..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/ClickType.java +++ /dev/null @@ -1,222 +0,0 @@ -package de.epiceric.shopchest.utils; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.shop.ShopProduct; -import de.epiceric.shopchest.shop.Shop.ShopType; - -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; -import org.bukkit.scheduler.BukkitTask; - -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; - -public class ClickType { - private static Map playerClickType = new HashMap<>(); - private static Map playerTimers = new HashMap<>(); - - private EnumClickType enumClickType; - - public ClickType(EnumClickType enumClickType) { - this.enumClickType = enumClickType; - } - - /** - * Clear click types, cancel timers, and reset game modes - */ - public static void clear() { - playerClickType.forEach((uuid, ct) -> { - if (ct instanceof SelectClickType) { - Player p = Bukkit.getPlayer(uuid); - if (p != null) - p.setGameMode(((SelectClickType) ct).getGameMode()); - } - }); - playerTimers.forEach((uuid, timer) -> timer.cancel()); - } - - /** - * Gets the click type of a player - * - * @param player Player whose click type should be gotten - * @return The Player's click type or null if he doesn't have one - */ - public static ClickType getPlayerClickType(OfflinePlayer player) { - return playerClickType.get(player.getUniqueId()); - } - - /** - * Removes the click type from a player and cancels the 15 second timer - * - * @param player Player to remove the click type from - */ - public static void removePlayerClickType(OfflinePlayer player) { - UUID uuid = player.getUniqueId(); - if (playerClickType.get(uuid) instanceof SelectClickType && player instanceof Player) { - // Reset gamemode player has select click type - ((Player) player).setGameMode(((SelectClickType) playerClickType.get(uuid)).gameMode); - } - playerClickType.remove(uuid); - - // If a timer is still running, cancel it - Optional.ofNullable(playerTimers.get(uuid)).ifPresent(task -> task.cancel()); - playerTimers.remove(uuid); - } - - /** - * Sets the click type of a player and removes it after 15 seconds - * - * @param player Player whose click type should be set - * @param clickType Click type to set - */ - public static void setPlayerClickType(OfflinePlayer player, ClickType clickType) { - UUID uuid = player.getUniqueId(); - if (playerClickType.get(uuid) instanceof SelectClickType && player instanceof Player) { - // Reset gamemode player has select click type - ((Player) player).setGameMode(((SelectClickType) playerClickType.get(uuid)).gameMode); - } - playerClickType.put(uuid, clickType); - - // If a timer is already running, cancel it - Optional.ofNullable(playerTimers.get(uuid)).ifPresent(task -> task.cancel()); - - if (clickType.getClickType() != EnumClickType.SELECT_ITEM) { - // Remove ClickType after 15 seconds if player has not clicked a chest - playerTimers.put(uuid, new BukkitRunnable() { - @Override - public void run() { - playerClickType.remove(uuid); - } - }.runTaskLater(ShopChest.getInstance(), 300)); - } - } - - /** - * @return Type of the click type - */ - public EnumClickType getClickType() { - return enumClickType; - } - - public enum EnumClickType { - CREATE, REMOVE, INFO, OPEN, SELECT_ITEM - } - - public static class CreateClickType extends ClickType { - private ShopProduct product; - private double buyPrice; - private double sellPrice; - private ShopType shopType; - - public CreateClickType(ShopProduct product, double buyPrice, double sellPrice, ShopType shopType) { - super(EnumClickType.CREATE); - this.product = product; - this.sellPrice = sellPrice; - this.buyPrice = buyPrice; - this.shopType = shopType; - } - - /** - * Returns the item, the player has hold in his hands - */ - public ShopProduct getProduct() { - return product; - } - - /** - * Returns the buy price, the player has entered - */ - public double getBuyPrice() { - return buyPrice; - } - - /** - * Returns the sell price, the player has entered - */ - public double getSellPrice() { - return sellPrice; - } - - /** - * Returns the shop type, the player has entered - */ - public ShopType getShopType() { - return shopType; - } - } - - public static class SelectClickType extends ClickType { - private ItemStack itemStack; - private GameMode gameMode; - private int amount; - private double buyPrice; - private double sellPrice; - private ShopType shopType; - - public SelectClickType(GameMode gameMode, int amount, double buyPrice, double sellPrice, ShopType shopType) { - super(EnumClickType.SELECT_ITEM); - this.gameMode = gameMode; - this.amount = amount; - this.sellPrice = sellPrice; - this.buyPrice = buyPrice; - this.shopType = shopType; - } - - /** - * Returns the selected item (or {@code null} if no item has been selected) - */ - public ItemStack getItem() { - return itemStack; - } - - /** - * Sets the selected item - * @param itemStack The item to set as selected - */ - public void setItem(ItemStack itemStack) { - this.itemStack = itemStack; - } - - /** - * Returns the gamemode, the player was in before entering creative mode - */ - public GameMode getGameMode() { - return gameMode; - } - - /** - * Returns the amount, the player has entered - */ - public int getAmount() { - return amount; - } - - /** - * Returns the buy price, the player has entered - */ - public double getBuyPrice() { - return buyPrice; - } - - /** - * Returns the sell price, the player has entered - */ - public double getSellPrice() { - return sellPrice; - } - - /** - * Returns the shop type, the player has entered - */ - public ShopType getShopType() { - return shopType; - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/FastMath.java b/implementation/src/main/java/de/epiceric/shopchest/utils/FastMath.java deleted file mode 100644 index a99d8a4..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/FastMath.java +++ /dev/null @@ -1,42 +0,0 @@ -package de.epiceric.shopchest.utils; - -public class FastMath { - - /** - * Fast sqrt, 1.57% precision - * - * @param n value to calculate square root from - * @return the square root of n - */ - public static double sqrt(double n) { - return n * Double.longBitsToDouble(6910470738111508698L - (Double.doubleToRawLongBits(n) >> 1)); - } - - /** - * Fast acos, 2.9% precision - * - * @param n value to calculate arc cosine from - * @return the arc cosine of n - */ - public static double acos(double n) { - int v = (int) (n * MULTIPLIER + OFFSET); - while (v > PRECISION) v -= PRECISION; - while (v < 0) v += PRECISION; - return acos[v]; - } - - // Below is lookup table generation - // It is only executed once at initialization - - private static final int PRECISION = 512; - private static final double MULTIPLIER = PRECISION / 2D; - private static final double OFFSET = MULTIPLIER + 0.5D; // + 0.5 as cast truncate and don't round - private static final double[] acos = new double[PRECISION + 1]; - - static { - for (int i = 0; i <= PRECISION; i++) { - acos[i] = Math.acos(i * (2D / PRECISION) - 1); - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/ItemUtils.java b/implementation/src/main/java/de/epiceric/shopchest/utils/ItemUtils.java deleted file mode 100644 index da96b3c..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/ItemUtils.java +++ /dev/null @@ -1,76 +0,0 @@ -package de.epiceric.shopchest.utils; - -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.EnchantmentStorageMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.potion.Potion; -import org.bukkit.potion.PotionType; - -import java.util.Arrays; -import java.util.Map; - -public class ItemUtils { - - public static Map getEnchantments(ItemStack itemStack) { - if (itemStack.getItemMeta() instanceof EnchantmentStorageMeta) { - EnchantmentStorageMeta esm = (EnchantmentStorageMeta) itemStack.getItemMeta(); - return esm.getStoredEnchants(); - } else { - return itemStack.getEnchantments(); - } - } - - public static PotionType getPotionEffect(ItemStack itemStack) { - if (itemStack.getItemMeta() instanceof PotionMeta) { - if (Utils.getMajorVersion() < 9) { - return Potion.fromItemStack(itemStack).getType(); - } else { - return ((PotionMeta) itemStack.getItemMeta()).getBasePotionData().getType(); - } - } - - return null; - } - - public static boolean isExtendedPotion(ItemStack itemStack) { - if (itemStack.getItemMeta() instanceof PotionMeta) { - if (Utils.getMajorVersion() < 9) { - return Potion.fromItemStack(itemStack).hasExtendedDuration(); - } else { - return ((PotionMeta) itemStack.getItemMeta()).getBasePotionData().isExtended(); - } - } - - return false; - } - - public static boolean isBannerPattern(ItemStack itemStack) { - return itemStack.getType().name().endsWith("BANNER_PATTERN"); - } - - public static boolean isAir(Material type) { - return Arrays.asList("AIR", "CAVE_AIR", "VOID_AIR").contains(type.name()); - } - - /** - * Get the {@link ItemStack} from a String - * @param item Serialized ItemStack e.g. {@code "STONE"} or {@code "STONE:1"} - * @return The de-serialized ItemStack or {@code null} if the serialized item is invalid - */ - public static ItemStack getItemStack(String item) { - if (item.trim().isEmpty()) return null; - - if (item.contains(":")) { - Material mat = Material.getMaterial(item.split(":")[0]); - if (mat == null) return null; - return new ItemStack(mat, 1, Short.parseShort(item.split(":")[1])); - } else { - Material mat = Material.getMaterial(item); - if (mat == null) return null; - return new ItemStack(mat, 1); - } - } - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/Operator.java b/implementation/src/main/java/de/epiceric/shopchest/utils/Operator.java deleted file mode 100644 index ebb7f96..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/Operator.java +++ /dev/null @@ -1,75 +0,0 @@ -package de.epiceric.shopchest.utils; - -public enum Operator { - - EQUAL("==") { - @Override - public boolean compare(double a, double b) { - return Double.compare(a, b) == 0; - } - @Override - public boolean compare(String a, String b) { - return a.equals(b); - } - }, - - NOT_EQUAL("!=") { - @Override - public boolean compare(double a, double b) { - return Double.compare(a, b) != 0; - } - @Override - public boolean compare(String a, String b) { - return !a.equals(b); - } - }, - - GREATER_THAN(">") { - @Override - public boolean compare(double a, double b) { - return a > b; - } - }, - - GREATER_THAN_OR_EQUAL(">=") { - @Override - public boolean compare(double a, double b) { - return a >= b; - } - }, - - LESS_THAN("<") { - @Override - public boolean compare(double a, double b) { - return a < b; - } - }, - - LESS_THAN_OR_EQUAL("<=") { - @Override - public boolean compare(double a, double b) { - return a <= b; - } - }; - - private final String symbol; - - Operator(String symbol) { - this.symbol = symbol; - } - - public static Operator from(String symbol) { - for (Operator operator : values()) { - if (operator.symbol.equals(symbol)) { - return operator; - } - } - throw new IllegalArgumentException(); - } - - public abstract boolean compare(double a, double b); - - public boolean compare(String a, String b) { - throw new UnsupportedOperationException(); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/Permissions.java b/implementation/src/main/java/de/epiceric/shopchest/utils/Permissions.java deleted file mode 100644 index de95347..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/Permissions.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.epiceric.shopchest.utils; - -public class Permissions { - - public static final String CREATE = "shopchest.create"; - public static final String CREATE_BUY = "shopchest.create.buy"; - public static final String CREATE_SELL = "shopchest.create.sell"; - public static final String CREATE_ADMIN = "shopchest.create.admin"; - public static final String CREATE_PROTECTED = "shopchest.create.protected"; - public static final String REMOVE_OTHER = "shopchest.remove.other"; - public static final String REMOVE_ADMIN = "shopchest.remove.admin"; - public static final String BUY = "shopchest.buy"; - public static final String SELL = "shopchest.sell"; - public static final String OPEN_OTHER = "shopchest.openOther"; - public static final String UPDATE_NOTIFICATION = "shopchest.notification.update"; - public static final String RELOAD = "shopchest.reload"; - public static final String UPDATE = "shopchest.update"; - public static final String NO_LIMIT = "shopchest.limit.*"; - public static final String CONFIG = "shopchest.config"; - public static final String EXTEND_OTHER = "shopchest.extend.other"; - public static final String EXTEND_PROTECTED = "shopchest.extend.protected"; - public static final String BYPASS_EXTERNAL_PLUGIN = "shopchest.external.bypass"; - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUpdater.java b/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUpdater.java deleted file mode 100644 index 5cf931f..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUpdater.java +++ /dev/null @@ -1,106 +0,0 @@ -package de.epiceric.shopchest.utils; - -import de.epiceric.shopchest.ShopChest; -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; - -public class ShopUpdater { - - private final ShopChest plugin; - private final BlockingQueue queue = new LinkedBlockingQueue<>(); - - private volatile Thread thread; - - public ShopUpdater(ShopChest plugin) { - this.plugin = plugin; - } - - /** - * Start task, except if it is already - */ - public void start() { - if (!isRunning()) { - thread = new Thread(() -> { - while (!Thread.interrupted()) { - try { - queue.take().run(); - } catch (InterruptedException e) { - break; - } - } - }, "Shop Updater"); - thread.start(); - } - } - - /** - * Stop any running task then start it again - */ - public void restart() { - stop(); - start(); - } - - /** - * Stop task properly - */ - public void stop() { - if (thread != null) { - thread.interrupt(); - thread = null; - } - } - - /** - * @return whether task is running or not - */ - public boolean isRunning() { - return thread != null; - } - - /** - * Queue a task to update shops for the given player - * - * @param player Player to show updates - */ - public void updateShops(Player player) { - queue(() -> plugin.getShopUtils().updateShops(player)); - } - - /** - * Queue a task to update shops for players in the given world - * - * @param world World in whose players to show updates - */ - public void updateShops(World world) { - queue(() -> { - for (Player player : world.getPlayers()) { - plugin.getShopUtils().updateShops(player); - } - }); - } - - /** - * Queue a task to update shops for all players - */ - public void updateShops() { - queue(() -> { - for (Player player : Bukkit.getOnlinePlayers()) { - plugin.getShopUtils().updateShops(player); - } - }); - } - - /** - * Register a task to run before next loop - * - * @param runnable task to run - */ - public void queue(Runnable runnable) { - queue.add(runnable); - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUtils.java b/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUtils.java deleted file mode 100644 index 449149f..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/ShopUtils.java +++ /dev/null @@ -1,441 +0,0 @@ -package de.epiceric.shopchest.utils; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; -import de.epiceric.shopchest.shop.Shop; - -import org.bukkit.Location; -import org.bukkit.OfflinePlayer; -import org.bukkit.block.Chest; -import org.bukkit.block.DoubleChest; -import org.bukkit.entity.Player; -import org.bukkit.inventory.InventoryHolder; -import org.bukkit.permissions.PermissionAttachmentInfo; -import org.bukkit.util.Vector; - -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; - -public class ShopUtils { - - // concurrent since it is updated in async task - private final Map playerLocation = new ConcurrentHashMap<>(); - private final Map shopLocation = new ConcurrentHashMap<>(); - private final Collection shopLocationValues = Collections.unmodifiableCollection(shopLocation.values()); - private final ShopChest plugin; - - public ShopUtils(ShopChest plugin) { - this.plugin = plugin; - } - - /** - * Get the shop at a given location - * - * @param location Location of the shop - * @return Shop at the given location or null if no shop is found there - */ - public Shop getShop(Location location) { - Location newLocation = new Location(location.getWorld(), location.getBlockX(), - location.getBlockY(), location.getBlockZ()); - - return shopLocation.get(newLocation); - } - - /** - * Checks whether there is a shop at a given location - * @param location Location to check - * @return Whether there is a shop at the given location - */ - public boolean isShop(Location location) { - return getShop(location) != null; - } - - /** - * Get all shops - * Do not use for removing while iteration! - * - * @see #getShopsCopy() - * @return Read-only collection of all shops, may contain duplicates - */ - public Collection getShops() { - return shopLocationValues; - } - - /** - * Get all shops - * Same as {@link #getShops()} but this is safe to remove while iterating - * - * @see #getShops() - * @return Copy of collection of all shops, may contain duplicates - */ - public Collection getShopsCopy() { - return new ArrayList<>(getShops()); - } - - /** - * Add a shop - * @param shop Shop to add - * @param addToDatabase Whether the shop should also be added to the database - * @param callback Callback that - if succeeded - returns the ID the shop had or was given (as {@code int}) - */ - public void addShop(Shop shop, boolean addToDatabase, Callback callback) { - InventoryHolder ih = shop.getInventoryHolder(); - plugin.debug("Adding shop... (#" + shop.getID() + ")"); - - if (ih instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) ih; - Chest r = (Chest) dc.getRightSide(); - Chest l = (Chest) dc.getLeftSide(); - - plugin.debug("Added shop as double chest. (#" + shop.getID() + ")"); - - shopLocation.put(r.getLocation(), shop); - shopLocation.put(l.getLocation(), shop); - } else { - plugin.debug("Added shop as single chest. (#" + shop.getID() + ")"); - - shopLocation.put(shop.getLocation(), shop); - } - - if (addToDatabase) { - plugin.getShopDatabase().addShop(shop, callback); - } else { - if (callback != null) callback.callSyncResult(shop.getID()); - } - - } - - /** - * Add a shop - * @param shop Shop to add - * @param addToDatabase Whether the shop should also be added to the database - */ - public void addShop(Shop shop, boolean addToDatabase) { - addShop(shop, addToDatabase, null); - } - - /** Remove a shop. May not work properly if double chest doesn't exist! - * @param shop Shop to remove - * @param removeFromDatabase Whether the shop should also be removed from the database - * @param callback Callback that - if succeeded - returns null - * @see ShopUtils#removeShopById(int, boolean, Callback) - */ - public void removeShop(Shop shop, boolean removeFromDatabase, Callback callback) { - plugin.debug("Removing shop (#" + shop.getID() + ")"); - - InventoryHolder ih = shop.getInventoryHolder(); - - if (ih instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) ih; - Chest r = (Chest) dc.getRightSide(); - Chest l = (Chest) dc.getLeftSide(); - - shopLocation.remove(r.getLocation()); - shopLocation.remove(l.getLocation()); - } else { - shopLocation.remove(shop.getLocation()); - } - - shop.removeItem(); - shop.removeHologram(); - - if (removeFromDatabase) { - plugin.getShopDatabase().removeShop(shop, callback); - } else { - if (callback != null) callback.callSyncResult(null); - } - } - - /** - * Remove a shop. May not work properly if double chest doesn't exist! - * @param shop Shop to remove - * @param removeFromDatabase Whether the shop should also be removed from the database - * @see ShopUtils#removeShopById(int, boolean) - */ - public void removeShop(Shop shop, boolean removeFromDatabase) { - removeShop(shop, removeFromDatabase, null); - } - - /** - * Remove a shop by its ID - * @param shopId ID of the shop to remove - * @param removeFromDatabase Whether the shop should also be removed from the database - * @param callback Callback that - if succeeded - returns null - */ - public void removeShopById(int shopId, boolean removeFromDatabase, Callback callback) { - Map toRemove = shopLocation.entrySet().stream() - .filter(e -> e.getValue().getID() == shopId) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - - plugin.debug(String.format("Removing %d shop(s) with ID %d", toRemove.size(), shopId)); - - if (toRemove.isEmpty()) { - if (callback != null) callback.callSyncResult(null); - return; - } - - toRemove.forEach((loc, shop) -> { - shopLocation.remove(loc); - - shop.removeItem(); - shop.removeHologram(); - }); - - // Database#removeShop removes shop by ID so this only needs to be called once - if (removeFromDatabase) { - plugin.getShopDatabase().removeShop(toRemove.values().iterator().next(), callback); - } else { - if (callback != null) callback.callSyncResult(null); - } - } - - /** - * Remove a shop by its ID - * @param shopId ID of the shop to remove - * @param removeFromDatabase Whether the shop should also be removed from the database - */ - public void removeShopById(int shopId, boolean removeFromDatabase) { - removeShopById(shopId, removeFromDatabase, null); - } - - /** - * Get the shop limits of a player - * @param p Player, whose shop limits should be returned - * @return The shop limits of the given player - */ - public int getShopLimit(Player p) { - int limit = 0; - boolean useDefault = true; - - for (PermissionAttachmentInfo permInfo : p.getEffectivePermissions()) { - if (permInfo.getPermission().startsWith("shopchest.limit.") && p.hasPermission(permInfo.getPermission())) { - if (permInfo.getPermission().equalsIgnoreCase(Permissions.NO_LIMIT)) { - limit = -1; - useDefault = false; - break; - } else { - String[] spl = permInfo.getPermission().split("shopchest.limit."); - - if (spl.length > 1) { - try { - int newLimit = Integer.valueOf(spl[1]); - - if (newLimit < 0) { - limit = -1; - break; - } - - limit = Math.max(limit, newLimit); - useDefault = false; - } catch (NumberFormatException ignored) { - /* Ignore and continue */ - } - } - } - } - } - - if (limit < -1) limit = -1; - return (useDefault ?Config.defaultLimit : limit); - } - - /** - * Get the amount of shops of a player - * @param p Player, whose shops should be counted - * @return The amount of a shops a player has (if {@link Config#excludeAdminShops} is true, admin shops won't be counted) - */ - public int getShopAmount(OfflinePlayer p) { - float shopCount = 0; - - for (Shop shop : getShops()) { - if (shop.getVendor().equals(p)) { - if (shop.getShopType() != Shop.ShopType.ADMIN) { - shopCount++; - - InventoryHolder ih = shop.getInventoryHolder(); - - if (ih instanceof DoubleChest) - shopCount -= 0.5; - } - } - } - - return Math.round(shopCount); - } - - /** - * Reload the shops - * @param reloadConfig Whether the configuration should also be reloaded - * @param showConsoleMessages Whether messages about the language file should be shown in the console - * @param callback Callback that - if succeeded - returns the amount of shops that were reloaded (as {@code int}) - */ - public void reloadShops(boolean reloadConfig, final boolean showConsoleMessages, final Callback callback) { - plugin.debug("Reloading shops..."); - - if (reloadConfig) { - plugin.getShopChestConfig().reload(false, true, showConsoleMessages); - plugin.getHologramFormat().reload(); - plugin.getUpdater().restart(); - } - - plugin.getShopDatabase().connect(new Callback(plugin) { - @Override - public void onResult(Integer result) { - for (Shop shop : getShopsCopy()) { - removeShop(shop, false); - plugin.debug("Removed shop (#" + shop.getID() + ")"); - } - - plugin.getShopDatabase().getShops(showConsoleMessages, new Callback>(plugin) { - @Override - public void onResult(Collection result) { - for (Shop shop : result) { - if (shop.create(showConsoleMessages)) { - addShop(shop, false); - } - } - - if (callback != null) callback.callSyncResult(result.size()); - } - - @Override - public void onError(Throwable throwable) { - if (callback != null) callback.callSyncError(throwable); - } - }); - } - - @Override - public void onError(Throwable throwable) { - if (callback != null) callback.callSyncError(throwable); - } - }); - } - - /** - * Update hologram and item of all shops for a player - * @param player Player to show the updates - */ - public void updateShops(Player player) { - updateShops(player, false); - } - - /** - * Update hologram and item of all shops for a player - * @param player Player to show the updates - * @param force Whether update should be forced even if player has not moved - */ - public void updateShops(Player player, boolean force) { - if (!force && player.getLocation().equals(playerLocation.get(player.getUniqueId()))) { - // Player has not moved, so don't calculate shops again. - return; - } - - if (Config.onlyShowShopsInSight) { - updateVisibleShops(player); - } else { - updateNearestShops(player); - } - - playerLocation.put(player.getUniqueId(), player.getLocation()); - } - - /** - * Remove a saved location of a player to force a recalculation - * of whether the hologram should be visible. - * This should only be called when really needed - * @param player Player whose saved location will be reset - */ - public void resetPlayerLocation(Player player) { - playerLocation.remove(player.getUniqueId()); - } - - private void updateVisibleShops(Player player) { - double itemDistSquared = Math.pow(Config.maximalItemDistance, 2); - double maxDist = Config.maximalDistance; - - double nearestDistSquared = Double.MAX_VALUE; - Shop nearestShop = null; - - Location pLoc = player.getEyeLocation(); - Vector pDir = pLoc.getDirection(); - - // Display holograms based on sight - for (double i = 0; i <= maxDist; i++) { - Location loc = pLoc.clone(); - Vector dir = pDir.clone(); - double factor = Math.min(i, maxDist); - - loc.add(dir.multiply(factor)); - Location locBelow = loc.clone().subtract(0, 1, 0); - - // Check block below as player may look at hologram - Shop shop = getShop(loc); - if (shop == null) { - shop = getShop(locBelow); - } - - if (shop != null && shop.hasHologram()) { - double distSquared = pLoc.distanceSquared(loc); - if (distSquared < nearestDistSquared) { - nearestDistSquared = distSquared; - nearestShop = shop; - } - } - } - - for (Shop shop : getShops()) { - if (!shop.equals(nearestShop) && shop.hasHologram()) { - shop.getHologram().hidePlayer(player); - } - - // Display item based on distance - Location shopLocation = shop.getLocation(); - if (shopLocation.getWorld().getName().equals(player.getWorld().getName())) { - double distSquared = shop.getLocation().distanceSquared(player.getLocation()); - - if (shop.hasItem()) { - if (distSquared <= itemDistSquared) { - shop.getItem().showPlayer(player); - } else { - shop.getItem().hidePlayer(player); - } - } - } - } - - if (nearestShop != null) { - nearestShop.getHologram().showPlayer(player); - } - } - - private void updateNearestShops(Player p) { - double holoDistSqr = Math.pow(Config.maximalDistance, 2); - double itemDistSqr = Math.pow(Config.maximalItemDistance, 2); - - Location playerLocation = p.getLocation(); - - for (Shop shop : getShops()) { - if (playerLocation.getWorld().getName().equals(shop.getLocation().getWorld().getName())) { - double distSqr = shop.getLocation().distanceSquared(playerLocation); - - if (shop.hasHologram()) { - if (distSqr <= holoDistSqr) { - shop.getHologram().showPlayer(p); - } else { - shop.getHologram().hidePlayer(p); - } - } - - if (shop.hasItem()) { - if (distSqr <= itemDistSqr) { - shop.getItem().showPlayer(p); - } else { - shop.getItem().hidePlayer(p); - } - } - } - } - } -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/UpdateChecker.java b/implementation/src/main/java/de/epiceric/shopchest/utils/UpdateChecker.java deleted file mode 100644 index c713c37..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/UpdateChecker.java +++ /dev/null @@ -1,88 +0,0 @@ -package de.epiceric.shopchest.utils; - -import de.epiceric.shopchest.ShopChest; - -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; - -public class UpdateChecker { - - private ShopChest plugin; - private String version; - private String link; - - public UpdateChecker(ShopChest plugin) { - this.plugin = plugin; - } - - /** - * Check if an update is needed - * - * @return {@link UpdateCheckerResult#TRUE} if an update is available, - * {@link UpdateCheckerResult#FALSE} if no update is needed or - * {@link UpdateCheckerResult#ERROR} if an error occurred - */ - public UpdateCheckerResult check() { - try { - plugin.debug("Checking for updates..."); - - URL url = new URL("https://api.spiget.org/v2/resources/11431/versions?size=1&page=1&sort=-releaseDate"); - URLConnection conn = url.openConnection(); - conn.setRequestProperty("User-Agent", "ShopChest/UpdateChecker"); - - InputStreamReader reader = new InputStreamReader(conn.getInputStream()); - JsonElement element = new JsonParser().parse(reader); - - if (element.isJsonArray()) { - JsonObject result = element.getAsJsonArray().get(0).getAsJsonObject(); - String id = result.get("id").getAsString(); - version = result.get("name").getAsString(); - link = "https://www.spigotmc.org/resources/shopchest.11431/download?version=" + id; - } else { - plugin.debug("Failed to check for updates"); - plugin.debug("Result: " + element.toString()); - return UpdateCheckerResult.ERROR; - } - - if (plugin.getDescription().getVersion().equals(version)) { - plugin.debug("No update found"); - return UpdateCheckerResult.FALSE; - } else { - plugin.debug("Update found: " + version); - return UpdateCheckerResult.TRUE; - } - - } catch (Exception e) { - plugin.debug("Failed to check for updates"); - plugin.debug(e); - return UpdateCheckerResult.ERROR; - } - } - - /** - * @return Latest Version or null if no update is available - */ - public String getVersion() { - return version; - } - - /** - * @return Download Link of the latest version of null if no update is available - */ - public String getLink() { - return link; - } - - public enum UpdateCheckerResult { - TRUE, - FALSE, - ERROR - } - - -} diff --git a/implementation/src/main/java/de/epiceric/shopchest/utils/Utils.java b/implementation/src/main/java/de/epiceric/shopchest/utils/Utils.java deleted file mode 100644 index 5613771..0000000 --- a/implementation/src/main/java/de/epiceric/shopchest/utils/Utils.java +++ /dev/null @@ -1,646 +0,0 @@ -package de.epiceric.shopchest.utils; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Base64; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicInteger; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Chest; -import org.bukkit.block.DoubleChest; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.InventoryHolder; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.PlayerInventory; -import org.bukkit.inventory.meta.BookMeta; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.util.Vector; - -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Placeholder; -import de.epiceric.shopchest.language.LanguageUtils; -import de.epiceric.shopchest.language.Message; -import de.epiceric.shopchest.language.Replacement; -import de.epiceric.shopchest.nms.CustomBookMeta; -import de.epiceric.shopchest.nms.JsonBuilder; -import de.epiceric.shopchest.shop.Shop; - -public class Utils { - - /** - * Check if two items are similar to each other - * @param itemStack1 The first item - * @param itemStack2 The second item - * @return {@code true} if the given items are similar or {@code false} if not - */ - public static boolean isItemSimilar(ItemStack itemStack1, ItemStack itemStack2) { - if (itemStack1 == null || itemStack2 == null) { - return false; - } - - ItemMeta itemMeta1 = itemStack1.getItemMeta(); - ItemMeta itemMeta2 = itemStack2.getItemMeta(); - - if (itemMeta1 instanceof BookMeta && itemMeta2 instanceof BookMeta) { - BookMeta bookMeta1 = (BookMeta) itemStack1.getItemMeta(); - BookMeta bookMeta2 = (BookMeta) itemStack2.getItemMeta(); - - if ((getMajorVersion() == 9 && getRevision() == 1) || getMajorVersion() == 8) { - CustomBookMeta.Generation generation1 = CustomBookMeta.getGeneration(itemStack1); - CustomBookMeta.Generation generation2 = CustomBookMeta.getGeneration(itemStack2); - - if (generation1 == null) CustomBookMeta.setGeneration(itemStack1, CustomBookMeta.Generation.ORIGINAL); - if (generation2 == null) CustomBookMeta.setGeneration(itemStack2, CustomBookMeta.Generation.ORIGINAL); - } else { - if (bookMeta1.getGeneration() == null) bookMeta1.setGeneration(BookMeta.Generation.ORIGINAL); - if (bookMeta2.getGeneration() == null) bookMeta2.setGeneration(BookMeta.Generation.ORIGINAL); - } - - itemStack1.setItemMeta(bookMeta1); - itemStack2.setItemMeta(bookMeta2); - - itemStack1 = decode(encode(itemStack1)); - itemStack2 = decode(encode(itemStack2)); - } - - return itemStack1.isSimilar(itemStack2); - } - - /** - * Gets the amount of items in an inventory - * - * @param inventory The inventory, in which the items are counted - * @param itemStack The items to count - * @return Amount of given items in the given inventory - */ - public static int getAmount(Inventory inventory, ItemStack itemStack) { - int amount = 0; - - ArrayList inventoryItems = new ArrayList<>(); - - if (inventory instanceof PlayerInventory) { - for (int i = 0; i < 37; i++) { - if (i == 36) { - if (getMajorVersion() < 9) { - break; - } - i = 40; - } - inventoryItems.add(inventory.getItem(i)); - } - } else { - for (int i = 0; i < inventory.getSize(); i++) { - inventoryItems.add(inventory.getItem(i)); - } - } - - for (ItemStack item : inventoryItems) { - if (isItemSimilar(item, itemStack)) { - amount += item.getAmount(); - } - } - - return amount; - } - - /** - * Get the amount of the given item, that fits in the given inventory - * - * @param inventory Inventory, where to search for free space - * @param itemStack Item, of which the amount that fits in the inventory should be returned - * @return Amount of the given item, that fits in the given inventory - */ - public static int getFreeSpaceForItem(Inventory inventory, ItemStack itemStack) { - HashMap slotFree = new HashMap<>(); - - if (inventory instanceof PlayerInventory) { - for (int i = 0; i < 37; i++) { - if (i == 36) { - if (getMajorVersion() < 9) { - break; - } - i = 40; - } - - ItemStack item = inventory.getItem(i); - if (item == null || item.getType() == Material.AIR) { - slotFree.put(i, itemStack.getMaxStackSize()); - } else { - if (isItemSimilar(item, itemStack)) { - int amountInSlot = item.getAmount(); - int amountToFullStack = itemStack.getMaxStackSize() - amountInSlot; - slotFree.put(i, amountToFullStack); - } - } - } - } else { - for (int i = 0; i < inventory.getSize(); i++) { - ItemStack item = inventory.getItem(i); - if (item == null || item.getType() == Material.AIR) { - slotFree.put(i, itemStack.getMaxStackSize()); - } else { - if (isItemSimilar(item, itemStack)) { - int amountInSlot = item.getAmount(); - int amountToFullStack = itemStack.getMaxStackSize() - amountInSlot; - slotFree.put(i, amountToFullStack); - } - } - } - } - - int freeAmount = 0; - for (int value : slotFree.values()) { - freeAmount += value; - } - - return freeAmount; - } - - /** - * @param p Player whose item in his main hand should be returned - * @return {@link ItemStack} in his main hand, or {@code null} if he doesn't hold one - */ - public static ItemStack getItemInMainHand(Player p) { - if (getMajorVersion() < 9) { - if (p.getItemInHand().getType() == Material.AIR) - return null; - else - return p.getItemInHand(); - } - - if (p.getInventory().getItemInMainHand().getType() == Material.AIR) - return null; - else - return p.getInventory().getItemInMainHand(); - } - - /** - * @param p Player whose item in his off hand should be returned - * @return {@link ItemStack} in his off hand, or {@code null} if he doesn't hold one or the server version is below 1.9 - */ - public static ItemStack getItemInOffHand(Player p) { - if (getMajorVersion() < 9) - return null; - else if (p.getInventory().getItemInOffHand().getType() == Material.AIR) - return null; - else - return p.getInventory().getItemInOffHand(); - } - - /** - * @param p Player whose item in his hand should be returned - * @return Item in his main hand, or the item in his off if he doesn't have one in this main hand, or {@code null} - * if he doesn't have one in both hands - */ - public static ItemStack getPreferredItemInHand(Player p) { - if (getMajorVersion() < 9) - return getItemInMainHand(p); - else if (getItemInMainHand(p) != null) - return getItemInMainHand(p); - else - return getItemInOffHand(p); - } - - /** - * @param p Player to check if he has an axe in one of his hands - * @return Whether a player has an axe in one of his hands - */ - public static boolean hasAxeInHand(Player p) { - List axes; - if (Utils.getMajorVersion() < 13) - axes = Arrays.asList("WOOD_AXE", "STONE_AXE", "IRON_AXE", "GOLD_AXE", "DIAMOND_AXE"); - else - axes = Arrays.asList("WOODEN_AXE", "STONE_AXE", "IRON_AXE", "GOLDEN_AXE", "DIAMOND_AXE"); - - ItemStack item = getItemInMainHand(p); - if (item == null || !axes.contains(item.getType().toString())) { - item = getItemInOffHand(p); - } - - return item != null && axes.contains(item.getType().toString()); - } - - /** - *

Check if a player is allowed to create a shop that sells or buys the given item.

- * @param player Player to check - * @param item Item to be sold or bought - * @param buy Whether buying should be enabled - * @param sell Whether selling should be enabled - * @return Whether the player is allowed - */ - public static boolean hasPermissionToCreateShop(Player player, ItemStack item, boolean buy, boolean sell) { - if (hasPermissionToCreateShop(player, item, Permissions.CREATE)) { - return true; - } else if (!sell && buy && hasPermissionToCreateShop(player, item,Permissions.CREATE_BUY)) { - return true; - } else if (!buy && sell && hasPermissionToCreateShop(player, item, Permissions.CREATE_SELL)) { - return true; - } else if (buy && sell && hasPermissionToCreateShop(player, item, Permissions.CREATE_BUY, Permissions.CREATE_SELL)) { - return true; - } - - return false; - } - - private static boolean hasPermissionToCreateShop(Player player, ItemStack item, String... permissions) { - for (String permission : permissions) { - boolean b1 = false; - boolean b2 = false; - boolean b3 = false; - - if (player.hasPermission(permission)) { - b1 = true; - } - - if (item != null) { - if (item.getDurability() == 0) { - String perm1 = permission + "." + item.getType().toString(); - String perm2 = permission + "." + item.getType().toString() + ".0"; - - if (player.hasPermission(perm1) || player.hasPermission(perm2)) { - b2 = true; - } - } - - if (player.hasPermission(permission + "." + item.getType().toString() + "." + item.getDurability())) { - b3 = true; - } - } - - if (!(b1 || b2 || b3)) { - return false; - } - } - - return true; - } - - /** - * Get a set for the location(s) of the shop's chest(s) - * @param shop The shop - * @return A set of 1 or 2 locations - */ - public static Set getChestLocations(Shop shop) { - Set chestLocations = new HashSet<>(); - InventoryHolder ih = shop.getInventoryHolder(); - if (ih instanceof DoubleChest) { - DoubleChest dc = (DoubleChest) ih; - chestLocations.add(((Chest) dc.getLeftSide()).getLocation()); - chestLocations.add(((Chest) dc.getRightSide()).getLocation()); - } else { - chestLocations.add(shop.getLocation()); - } - return chestLocations; - } - - /** - * Send a clickable update notification to the given player. - * @param plugin An instance of the {@link ShopChest} plugin - * @param p The player to receive the notification - */ - public static void sendUpdateMessage(ShopChest plugin, Player p) { - JsonBuilder jb = new JsonBuilder(plugin); - Map hoverEvent = new HashMap<>(); - hoverEvent.put("action", new JsonBuilder.Part("show_text")); - hoverEvent.put("value", new JsonBuilder.Part(LanguageUtils.getMessage(Message.UPDATE_CLICK_TO_DOWNLOAD))); - - Map clickEvent = new HashMap<>(); - clickEvent.put("action", new JsonBuilder.Part("open_url")); - clickEvent.put("value", new JsonBuilder.Part(plugin.getDownloadLink())); - - JsonBuilder.PartMap rootPart = JsonBuilder.parse(LanguageUtils.getMessage(Message.UPDATE_AVAILABLE, - new Replacement(Placeholder.VERSION, plugin.getLatestVersion()))).toMap(); - - rootPart.setValue("hoverEvent", new JsonBuilder.PartMap(hoverEvent)); - rootPart.setValue("clickEvent", new JsonBuilder.PartMap(clickEvent)); - - jb.setRootPart(rootPart); - jb.sendJson(p); - } - - /** - * @param className Name of the class - * @return Class in {@code net.minecraft.server.[VERSION]} package with the specified name or {@code null} if the class was not found - */ - public static Class getNMSClass(String className) { - try { - return Class.forName("net.minecraft.server." + getServerVersion() + "." + className); - } catch (ClassNotFoundException e) { - return null; - } - } - - /** - * @param className Name of the class - * @return Class in {@code org.bukkit.craftbukkit.[VERSION]} package with the specified name or {@code null} if the class was not found - */ - public static Class getCraftClass(String className) { - try { - return Class.forName("org.bukkit.craftbukkit." + getServerVersion() + "." + className); - } catch (ClassNotFoundException e) { - return null; - } - } - - /** - * Create a NMS data watcher object to send via a {@code PacketPlayOutEntityMetadata} packet. - * Gravity will be disabled and the custom name will be displayed if available. - * @param customName Custom Name of the entity or {@code null} - * @param nmsItemStack NMS ItemStack or {@code null} if armor stand - */ - public static Object createDataWatcher(String customName, Object nmsItemStack) { - String version = getServerVersion(); - int majorVersion = getMajorVersion(); - - try { - Class entityClass = getNMSClass("Entity"); - Class entityArmorStandClass = getNMSClass("EntityArmorStand"); - Class entityItemClass = getNMSClass("EntityItem"); - Class dataWatcherClass = getNMSClass("DataWatcher"); - Class dataWatcherObjectClass = getNMSClass("DataWatcherObject"); - - byte entityFlags = nmsItemStack == null ? (byte) 0b100000 : 0; // invisible if armor stand - byte armorStandFlags = nmsItemStack == null ? (byte) 0b10000 : 0; // marker (since 1.8_R2) - - Object dataWatcher = dataWatcherClass.getConstructor(entityClass).newInstance((Object) null); - if (majorVersion < 9) { - if (getRevision() == 1) armorStandFlags = 0; // Marker not supported on 1.8_R1 - - Method a = dataWatcherClass.getMethod("a", int.class, Object.class); - a.invoke(dataWatcher, 0, entityFlags); // flags - a.invoke(dataWatcher, 1, (short) 300); // air ticks (?) - a.invoke(dataWatcher, 3, (byte) (customName != null ? 1 : 0)); // custom name visible - a.invoke(dataWatcher, 2, customName != null ? customName : ""); // custom name - a.invoke(dataWatcher, 4, (byte) 1); // silent - a.invoke(dataWatcher, 10, nmsItemStack == null ? armorStandFlags : nmsItemStack); // item / armor stand flags - } else { - Method register = dataWatcherClass.getMethod("register", dataWatcherObjectClass, Object.class); - String[] dataWatcherObjectFieldNames; - - if ("v1_9_R1".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"ax", "ay", "aA", "az", "aB", null, "c", "a"}; - } else if ("v1_9_R2".equals(version)){ - dataWatcherObjectFieldNames = new String[] {"ay", "az", "aB", "aA", "aC", null, "c", "a"}; - } else if ("v1_10_R1".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"aa", "az", "aB", "aA", "aC", "aD", "c", "a"}; - } else if ("v1_11_R1".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"Z", "az", "aB", "aA", "aC", "aD", "c", "a"}; - } else if ("v1_12_R1".equals(version) || "v1_12_R2".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"Z", "aA", "aC", "aB", "aD", "aE", "c", "a"}; - } else if ("v1_13_R1".equals(version) || "v1_13_R2".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"ac", "aD", "aF", "aE", "aG", "aH", "b", "a"}; - } else if ("v1_14_R1".equals(version)) { - dataWatcherObjectFieldNames = new String[] {"W", "AIR_TICKS", "aA", "az", "aB", "aC", "ITEM", "b"}; - } else { - return null; - } - - Field fEntityFlags = entityClass.getDeclaredField(dataWatcherObjectFieldNames[0]); - Field fAirTicks = entityClass.getDeclaredField(dataWatcherObjectFieldNames[1]); - Field fNameVisible = entityClass.getDeclaredField(dataWatcherObjectFieldNames[2]); - Field fCustomName = entityClass.getDeclaredField(dataWatcherObjectFieldNames[3]); - Field fSilent = entityClass.getDeclaredField(dataWatcherObjectFieldNames[4]); - Field fNoGravity = majorVersion >= 10 ? entityClass.getDeclaredField(dataWatcherObjectFieldNames[5]) : null; - Field fItem = entityItemClass.getDeclaredField(dataWatcherObjectFieldNames[6]); - Field fArmorStandFlags = entityArmorStandClass.getDeclaredField(dataWatcherObjectFieldNames[7]); - - fEntityFlags.setAccessible(true); - fAirTicks.setAccessible(true); - fNameVisible.setAccessible(true); - fCustomName.setAccessible(true); - fSilent.setAccessible(true); - if (majorVersion >= 10) fNoGravity.setAccessible(true); - fItem.setAccessible(true); - fArmorStandFlags.setAccessible(true); - - register.invoke(dataWatcher, fEntityFlags.get(null), entityFlags); - register.invoke(dataWatcher, fAirTicks.get(null), 300); - register.invoke(dataWatcher, fNameVisible.get(null), customName != null); - register.invoke(dataWatcher, fSilent.get(null), true); - if (majorVersion < 13) register.invoke(dataWatcher, fCustomName.get(null), customName != null ? customName : ""); - - if (nmsItemStack != null) { - register.invoke(dataWatcher, fItem.get(null), majorVersion < 11 ? com.google.common.base.Optional.of(nmsItemStack) : nmsItemStack); - } else { - register.invoke(dataWatcher, fArmorStandFlags.get(null), armorStandFlags); - } - - if (majorVersion >= 10) { - register.invoke(dataWatcher, fNoGravity.get(null), true); - if (majorVersion >= 13) { - if (customName != null) { - Class chatSerializerClass = Utils.getNMSClass("IChatBaseComponent$ChatSerializer"); - Object iChatBaseComponent = chatSerializerClass.getMethod("a", String.class).invoke(null, JsonBuilder.parse(customName).toString()); - register.invoke(dataWatcher, fCustomName.get(null), Optional.of(iChatBaseComponent)); - } else { - register.invoke(dataWatcher, fCustomName.get(null), Optional.empty()); - } - } - } - } - return dataWatcher; - } catch (InstantiationException | InvocationTargetException | NoSuchFieldException | IllegalAccessException | NoSuchMethodException e) { - ShopChest.getInstance().getLogger().severe("Failed to create data watcher!"); - ShopChest.getInstance().debug("Failed to create data watcher"); - ShopChest.getInstance().debug(e); - } - return null; - } - - /** - * Get a free entity ID for use in {@link #createPacketSpawnEntity(ShopChest, int, UUID, Location, Vector, EntityType)} - * - * @return The id or {@code -1} if a free entity ID could not be retrieved. - */ - public static int getFreeEntityId() { - try { - Class entityClass = getNMSClass("Entity"); - Field entityCountField = entityClass.getDeclaredField("entityCount"); - entityCountField.setAccessible(true); - if (entityCountField.getType() == int.class) { - int id = entityCountField.getInt(null); - entityCountField.setInt(null, id+1); - return id; - } else if (entityCountField.getType() == AtomicInteger.class) { - return ((AtomicInteger) entityCountField.get(null)).incrementAndGet(); - } - - return -1; - } catch (Exception e) { - return -1; - } - } - - /** - * Create a {@code PacketPlayOutSpawnEntity} object. - * Only {@link EntityType#ARMOR_STAND} and {@link EntityType#DROPPED_ITEM} are supported! - */ - public static Object createPacketSpawnEntity(ShopChest plugin, int id, UUID uuid, Location loc, EntityType type) { - try { - Class packetClass = getNMSClass("PacketPlayOutSpawnEntity"); - Object packet = packetClass.getConstructor().newInstance(); - boolean isPre9 = getMajorVersion() < 9; - boolean isPre14 = getMajorVersion() < 14; - - Field[] fields = new Field[12]; - fields[0] = packetClass.getDeclaredField("a"); // ID - fields[1] = packetClass.getDeclaredField("b"); // UUID (Only 1.9+) - fields[2] = packetClass.getDeclaredField(isPre9 ? "b" : "c"); // Loc X - fields[3] = packetClass.getDeclaredField(isPre9 ? "c" : "d"); // Loc Y - fields[4] = packetClass.getDeclaredField(isPre9 ? "d" : "e"); // Loc Z - fields[5] = packetClass.getDeclaredField(isPre9 ? "e" : "f"); // Mot X - fields[6] = packetClass.getDeclaredField(isPre9 ? "f" : "g"); // Mot Y - fields[7] = packetClass.getDeclaredField(isPre9 ? "g" : "h"); // Mot Z - fields[8] = packetClass.getDeclaredField(isPre9 ? "h" : "i"); // Pitch - fields[9] = packetClass.getDeclaredField(isPre9 ? "i" : "j"); // Yaw - fields[10] = packetClass.getDeclaredField(isPre9 ? "j" : "k"); // Type - fields[11] = packetClass.getDeclaredField(isPre9 ? "k" : "l"); // Data - - for (Field field : fields) { - field.setAccessible(true); - } - - Object entityType = null; - if (!isPre14) { - Class entityTypesClass = getNMSClass("EntityTypes"); - entityType = entityTypesClass.getField(type == EntityType.ARMOR_STAND ? "ARMOR_STAND" : "ITEM").get(null); - } - - double y = loc.getY(); - if (type == EntityType.ARMOR_STAND && !getServerVersion().equals("v1_8_R1")) { - // Marker armor stand => lift by normal armor stand height - y += 1.975; - } - - fields[0].set(packet, id); - if (!isPre9) fields[1].set(packet, uuid); - if (isPre9) { - fields[2].set(packet, (int)(loc.getX() * 32)); - fields[3].set(packet, (int)(y * 32)); - fields[4].set(packet, (int)(loc.getZ() * 32)); - } else { - fields[2].set(packet, loc.getX()); - fields[3].set(packet, y); - fields[4].set(packet, loc.getZ()); - } - fields[5].set(packet, 0); - fields[6].set(packet, 0); - fields[7].set(packet, 0); - fields[8].set(packet, 0); - fields[9].set(packet, 0); - if (isPre14) fields[10].set(packet, type == EntityType.ARMOR_STAND ? 78 : 2); - else fields[10].set(packet, entityType); - fields[11].set(packet, 0); - - return packet; - } catch (NoSuchMethodException | NoSuchFieldException | IllegalAccessException | InvocationTargetException | InstantiationException e) { - plugin.getLogger().severe("Failed to create packet to spawn entity!"); - plugin.debug("Failed to create packet to spawn entity!"); - plugin.debug(e); - return null; - } - } - - /** - * Send a packet to a player - * @param plugin An instance of the {@link ShopChest} plugin - * @param packet Packet to send - * @param player Player to which the packet should be sent - * @return {@code true} if the packet was sent, or {@code false} if an exception was thrown - */ - public static boolean sendPacket(ShopChest plugin, Object packet, Player player) { - try { - if (packet == null) { - plugin.debug("Failed to send packet: Packet is null"); - return false; - } - - Class packetClass = getNMSClass("Packet"); - if (packetClass == null) { - plugin.debug("Failed to send packet: Could not find Packet class"); - return false; - } - - Object nmsPlayer = player.getClass().getMethod("getHandle").invoke(player); - Object playerConnection = nmsPlayer.getClass().getField("playerConnection").get(nmsPlayer); - - playerConnection.getClass().getMethod("sendPacket", packetClass).invoke(playerConnection, packet); - - return true; - } catch (NoSuchMethodException | NoSuchFieldException | IllegalAccessException | InvocationTargetException e) { - plugin.getLogger().severe("Failed to send packet " + packet.getClass().getName()); - plugin.debug("Failed to send packet " + packet.getClass().getName()); - plugin.debug(e); - return false; - } - } - - /** - * @return The current server version with revision number (e.g. v1_9_R2, v1_10_R1) - */ - public static String getServerVersion() { - String packageName = Bukkit.getServer().getClass().getPackage().getName(); - - return packageName.substring(packageName.lastIndexOf('.') + 1); - } - - /** - * @return The revision of the current server version (e.g. 2 for v1_9_R2, 1 for v1_10_R1) - */ - public static int getRevision() { - return Integer.parseInt(getServerVersion().substring(getServerVersion().length() - 1)); - } - - /** - * @return The major version of the server (e.g. 9 for 1.9.2, 10 for 1.10) - */ - public static int getMajorVersion() { - return Integer.parseInt(getServerVersion().split("_")[1]); - } - - /** - * Encodes an {@link ItemStack} in a Base64 String - * @param itemStack {@link ItemStack} to encode - * @return Base64 encoded String - */ - public static String encode(ItemStack itemStack) { - YamlConfiguration config = new YamlConfiguration(); - config.set("i", itemStack); - return Base64.getEncoder().encodeToString(config.saveToString().getBytes(StandardCharsets.UTF_8)); - } - - /** - * Decodes an {@link ItemStack} from a Base64 String - * @param string Base64 encoded String to decode - * @return Decoded {@link ItemStack} - */ - public static ItemStack decode(String string) { - YamlConfiguration config = new YamlConfiguration(); - try { - config.loadFromString(new String(Base64.getDecoder().decode(string), StandardCharsets.UTF_8)); - } catch (IllegalArgumentException | InvalidConfigurationException e) { - e.printStackTrace(); - return null; - } - return config.getItemStack("i", null); - } - - -} diff --git a/implementation/src/main/resources/config.yml b/implementation/src/main/resources/config.yml deleted file mode 100644 index 3493190..0000000 --- a/implementation/src/main/resources/config.yml +++ /dev/null @@ -1,220 +0,0 @@ -# =============================================== -# ====== Configuration File of 'ShopChest' ====== -# =============================================== -# -# Lines starting with '#' are comments and are ignored by the server. -# -# You can find item names in the 'item_names.txt' file. - -# Set the main command you have to enter to manage the shops. -# (default: "/shop ...") -main-command-name: "shop" - -# Set the language file for all translatable messages or names. -# The value must equal to the name of one of a file in the 'lang' folder -# (without the '.lang' extension). -language-file: "en_US" - -# Set the item with which a player can click a shop to retrieve information. -# You can set this to an empty string ("") to disable this feature. -shop-info-item: "STICK" - -# Set whether buys or sells need to be confirmed by the player -# in order to prevent accidents. -confirm-shopping: false - -# Set whether players should be able to select the shop item from the -# creative inventory if they don't hold an item in their hand. -# !! This feature may be exploitable, players could get access to creative mode! -creative-select-item: false - -# Set whether the (current) shop creation price should be refunded -# when the shop is removed by its creator. -refund-shop-creation: false - -# Set whether the plugin will check for updates on server start -# and notify permitted players on join. -# The command is not affected by this setting and will continue to -# check for updates. -enable-update-checker: true - -# Set whether buys and sells should be logged in the database. -enable-economy-log: false - -# Set the maximum age for economy log entries in days. -# All log entries older than this will be deleted on server start. -# Set this to 0 to disable this feature. -cleanup-economy-log-days: 30 - -# Set whether a debug log file should be created. -# The file may get large! Please enable this setting when reporting issues. -enable-debug-log: false - -# Set whether various protection plugins should be hooked into (if installed) -# in order to allow or deny shop creation in certain locations. -enable-worldguard-integration: true -enable-towny-integration: true -enable-authme-integration: true -enable-plotsquared-integration: true -enable-uskyblock-integration: true -enable-askyblock-integration: true -enable-islandworld-integration: true -enable-griefprevention-integration: true -enable-areashop-integration: true - -# Set whether the vendor of a shop should get messages when players buy -# or sell something from/to his shop or when his shop is out of stock. -enable-vendor-messages: true - -# Set whether only the shop a player is pointing at should be shown. -# If set to false, every shop near the player (with the specified -# distance) will be shown to him. -only-show-shops-in-sight: true - -# Set whether the hologram's location should be fixed at the bottom, -# so when it gets more lines, it won't interfere with the item or chest, -# but goes higher. -hologram-fixed-bottom: true - -# Set the amount (may be negative) a hologram should be lifted in the y-axis. -# A value of '1' equals to one block, and a value of '0.25' is equal to the -# height of one line. -hologram-lift: 0 - -# Set whether players should be allowed to buy or sell less items -# than the vendor has specified, in case the player does not have enough -# money or items, or if the chest does not have enough items or space, -# or if the vendor does not have enough money. -# The price will be calculated correspondingly. -auto-calculate-item-amount: false - -# Set whether prices may contain decimals (prices of existing shops will stay). -allow-decimals-in-price: true - -# Set whether players should be allowed to sell/buy broken items. -allow-broken-items: false - -# Set whether the level of a potion or tipped arrow (if upgraded) should be -# appended to the item name. If set to true, the level ("II") will be -# displayed after the item name, but only if the item does not have a -# custom name. -append-potion-level-to-item-name: false - -# Set whether shops should automatically be removed from the database if -# an error occurred while loading. -# (e.g. no chest, no space above chest, or unknown world) -remove-shop-on-error: false - -# Set whether the mouse buttons should be inverted. -# Default: -# Right-Click -> Buy -# Left-Click -> Sell -invert-mouse-buttons: false - -# Set the maximal distance (in blocks) to the shop where the -# player can see the hologram. -maximal-distance: 2 - -# Set the maximal distance (in blocks) to the shop where the -# player can see the floating shop item. -maximal-item-distance: 40 - -# Set whether the buy price must be greater than or equal to the sell price. -buy-greater-or-equal-sell: true - -# Set the minimum and maximum prices for each individual item. -minimum-prices: -# "DIAMOND": 0.5 - -maximum-prices: -# "STONE": 2 - -# Set the items of which a player can't create a shop. -blacklist: -# - "DIORITE" - -# Set the price a player has to pay in order to create... -# You can set this to 0 to disable costs. -shop-creation-price: - - # ...a normal shop - normal: 5 - - # ...an admin shop - admin: 0 - -# Shop limits are handled with permissions. -# A player with permission "shopchest.limit.X" has a limit of X shops, -# a player with permission "shopchest.limit.*" does not have a shop limit. -# Admin shops are excluded from the shop limit. -shop-limits: - - # Set the amount of shops that anyone who doesn't have a - # specific permission may have. - # If you don't want the players to have a limit by default - # set the value to -1. - default: 5 - -# Set the events of AreaShop when shops on that region should be removed. -# Valid values are: DELETE, UNRENT, RESELL, SELL -areashop-remove-shops: - - "DELETE" - - "UNRENT" - - "RESELL" - - "SELL" - -# Set whether the custom WorldGuard flags should be allowed by default. -worldguard-default-flag-values: - - create-shop: false - use-shop: false - use-admin-shop: false - -# Set the types of Towny plots where shop creation should be allowed. -# Valid values are: -# RESIDENTIAL, COMMERCIAL, ARENA, EMBASSY, WILDS, SPLEEF, INN, JAIL, FARM -towny-shop-plots: - - residents: - - "COMMERCIAL" - - mayor: - - "COMMERCIAL" - - king: - - "COMMERCIAL" - -# Configuration of the database, where everything is stored. -# Shops are found in the table 'shopchest_shops', and logged economy -# transactions are found in the table 'shopchest_economy_logs' -database: - - # Select the type of database which should be used - # Either use 'SQLite' or 'MySQL'. Otherwise you will break the plugin! - type: "SQLite" - - # Set the prefix of all table names related to this plugin. - table-prefix: "shopchest_" - - # If the specified type is 'MySQL', here you configure the... - mysql: - - # ...interval in seconds, when the database should be pinged, - # to keep the connection alive - # You can set this to '0' to disable the ping interval - ping-interval: 3600 - - # ...hostname where the database is accessible - hostname: "" - - # ...port where the database is accessible (default: 3306) - port: 3306 - - # ...database you want to use - database: "" - - # ...username you are going to login with - username: "" - - # ...password you are going to login with - password: "" \ No newline at end of file diff --git a/implementation/src/main/resources/hologram-format.yml b/implementation/src/main/resources/hologram-format.yml deleted file mode 100644 index c241500..0000000 --- a/implementation/src/main/resources/hologram-format.yml +++ /dev/null @@ -1,78 +0,0 @@ -# =============================================== -# === ShopChest's hologram configuration file === -# =============================================== -# -# Valid requirements are: -# VENDOR, AMOUNT, ITEM_TYPE, ITEM_NAME, HAS_ENCHANTMENT, BUY_PRICE, -# SELL_PRICE, HAS_POTION_EFFECT, IS_MUSIC_DISC, IS_POTION_EXTENDED, -# IS_WRITTEN_BOOK, IS_BANNER_PATTERN, ADMIN_SHOP, NORMAL_SHOP, -# IN_STOCK, MAX_STACK, CHEST_SPACE, DURABILITY -# -# You can also use the requirements for conditions. -# ITEM_TYPE will return the type of the item (-> item_names.txt), -# ITEM_NAME can be compared against a custom named item's name (may be null). -# -# Examples: -# - IN_STOCK > 0 -# - VENDOR == "EpicEric" -# - BUY_PRICE <= SELL_PRICE -# - ITEM_TYPE == "STONE:2" -# - ITEM_TYPE != "IRON_INGOT" -# - ITEM_NAME == "The Mighty Sword" -# - (AMOUNT > 10) && (AMOUNT <= 20) -# - (IN_STOCK > 0) || ADMIN_SHOP -# -# Valid placeholders are: -# %VENDOR%, %AMOUNT%, %ITEMNAME%, %ENCHANTMENT%, %BUY-PRICE%, -# %SELL-PRICE%, %POTION-EFFECT%, %MUSIC-TITLE%, %BANNER-PATTERN-NAME%, -# %GENERATION%, %STOCK%, %MAX-STACK%, %CHEST-SPACE%, %DURABILITY% -# -# In the format, placeholders can also be used for scripts. -# Examples: -# - "In Stock: {%STOCK% / 64} Stk." -# - "In Stock: {(%STOCK% - (%STOCK% % 64)) / 64} Stk. {%STOCK% % 64}" -# -# Other information: -# - Options can be called however you want. -# - Color codes can be used in the format. -# - Options are checked from top to bottom; the first to -# fulfill the requirements will be taken. -# - All scripts have to be in JavaScript syntax. -# - Lines start with 0. - -lines: - 0: - options: - normal-shop: - format: "%VENDOR%" - requirements: - - NORMAL_SHOP - - admin-shop: - format: "&cAdmin Shop" - requirements: - - ADMIN_SHOP - - 1: - options: - default: - format: "%AMOUNT% x %ITEMNAME%" - requirements: - - 2: - options: - buy-and-sell: - format: "Buy %BUY-PRICE% | %SELL-PRICE% Sell" - requirements: - - BUY_PRICE > 0 - - SELL_PRICE > 0 - - only-buy: - format: "Buy %BUY-PRICE%" - requirements: - - BUY_PRICE > 0 - - only-sell: - format: "Sell %SELL-PRICE%" - requirements: - - SELL_PRICE > 0 \ No newline at end of file diff --git a/implementation/src/main/resources/item_names.txt b/implementation/src/main/resources/item_names.txt deleted file mode 100644 index 061a8ab..0000000 --- a/implementation/src/main/resources/item_names.txt +++ /dev/null @@ -1,971 +0,0 @@ -Item names for Bukkit 1.14 -(Source: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) - -ACACIA_BOAT -ACACIA_BUTTON -ACACIA_DOOR -ACACIA_FENCE -ACACIA_FENCE_GATE -ACACIA_LEAVES -ACACIA_LOG -ACACIA_PLANKS -ACACIA_PRESSURE_PLATE -ACACIA_SAPLING -ACACIA_SIGN -ACACIA_SLAB -ACACIA_STAIRS -ACACIA_TRAPDOOR -ACACIA_WALL_SIGN -ACACIA_WOOD -ACTIVATOR_RAIL -AIR -ALLIUM -ANDESITE -ANDESITE_SLAB -ANDESITE_STAIRS -ANDESITE_WALL -ANVIL -APPLE -ARMOR_STAND -ARROW -ATTACHED_MELON_STEM -ATTACHED_PUMPKIN_STEM -AZURE_BLUET -BAKED_POTATO -BAMBOO -BAMBOO_SAPLING -BARREL -BARRIER -BAT_SPAWN_EGG -BEACON -BEDROCK -BEEF -BEETROOT -BEETROOT_SEEDS -BEETROOT_SOUP -BEETROOTS -BELL -BIRCH_BOAT -BIRCH_BUTTON -BIRCH_DOOR -BIRCH_FENCE -BIRCH_FENCE_GATE -BIRCH_LEAVES -BIRCH_LOG -BIRCH_PLANKS -BIRCH_PRESSURE_PLATE -BIRCH_SAPLING -BIRCH_SIGN -BIRCH_SLAB -BIRCH_STAIRS -BIRCH_TRAPDOOR -BIRCH_WALL_SIGN -BIRCH_WOOD -BLACK_BANNER -BLACK_BED -BLACK_CARPET -BLACK_CONCRETE -BLACK_CONCRETE_POWDER -BLACK_DYE -BLACK_GLAZED_TERRACOTTA -BLACK_SHULKER_BOX -BLACK_STAINED_GLASS -BLACK_STAINED_GLASS_PANE -BLACK_TERRACOTTA -BLACK_WALL_BANNER -BLACK_WOOL -BLAST_FURNACE -BLAZE_POWDER -BLAZE_ROD -BLAZE_SPAWN_EGG -BLUE_BANNER -BLUE_BED -BLUE_CARPET -BLUE_CONCRETE -BLUE_CONCRETE_POWDER -BLUE_DYE -BLUE_GLAZED_TERRACOTTA -BLUE_ICE -BLUE_ORCHID -BLUE_SHULKER_BOX -BLUE_STAINED_GLASS -BLUE_STAINED_GLASS_PANE -BLUE_TERRACOTTA -BLUE_WALL_BANNER -BLUE_WOOL -BONE -BONE_BLOCK -BONE_MEAL -BOOK -BOOKSHELF -BOW -BOWL -BRAIN_CORAL -BRAIN_CORAL_BLOCK -BRAIN_CORAL_FAN -BRAIN_CORAL_WALL_FAN -BREAD -BREWING_STAND -BRICK -BRICK_SLAB -BRICK_STAIRS -BRICK_WALL -BRICKS -BROWN_BANNER -BROWN_BED -BROWN_CARPET -BROWN_CONCRETE -BROWN_CONCRETE_POWDER -BROWN_DYE -BROWN_GLAZED_TERRACOTTA -BROWN_MUSHROOM -BROWN_MUSHROOM_BLOCK -BROWN_SHULKER_BOX -BROWN_STAINED_GLASS -BROWN_STAINED_GLASS_PANE -BROWN_TERRACOTTA -BROWN_WALL_BANNER -BROWN_WOOL -BUBBLE_COLUMN -BUBBLE_CORAL -BUBBLE_CORAL_BLOCK -BUBBLE_CORAL_FAN -BUBBLE_CORAL_WALL_FAN -BUCKET -CACTUS -CAKE -CAMPFIRE -CARROT -CARROT_ON_A_STICK -CARROTS -CARTOGRAPHY_TABLE -CARVED_PUMPKIN -CAT_SPAWN_EGG -CAULDRON -CAVE_AIR -CAVE_SPIDER_SPAWN_EGG -CHAIN_COMMAND_BLOCK -CHAINMAIL_BOOTS -CHAINMAIL_CHESTPLATE -CHAINMAIL_HELMET -CHAINMAIL_LEGGINGS -CHARCOAL -CHEST -CHEST_MINECART -CHICKEN -CHICKEN_SPAWN_EGG -CHIPPED_ANVIL -CHISELED_QUARTZ_BLOCK -CHISELED_RED_SANDSTONE -CHISELED_SANDSTONE -CHISELED_STONE_BRICKS -CHORUS_FLOWER -CHORUS_FRUIT -CHORUS_PLANT -CLAY -CLAY_BALL -CLOCK -COAL -COAL_BLOCK -COAL_ORE -COARSE_DIRT -COBBLESTONE -COBBLESTONE_SLAB -COBBLESTONE_STAIRS -COBBLESTONE_WALL -COBWEB -COCOA -COCOA_BEANS -COD -COD_BUCKET -COD_SPAWN_EGG -COMMAND_BLOCK -COMMAND_BLOCK_MINECART -COMPARATOR -COMPASS -COMPOSTER -CONDUIT -COOKED_BEEF -COOKED_CHICKEN -COOKED_COD -COOKED_MUTTON -COOKED_PORKCHOP -COOKED_RABBIT -COOKED_SALMON -COOKIE -CORNFLOWER -COW_SPAWN_EGG -CRACKED_STONE_BRICKS -CRAFTING_TABLE -CREEPER_BANNER_PATTERN -CREEPER_HEAD -CREEPER_SPAWN_EGG -CREEPER_WALL_HEAD -CROSSBOW -CUT_RED_SANDSTONE -CUT_RED_SANDSTONE_SLAB -CUT_SANDSTONE -CUT_SANDSTONE_SLAB -CYAN_BANNER -CYAN_BED -CYAN_CARPET -CYAN_CONCRETE -CYAN_CONCRETE_POWDER -CYAN_DYE -CYAN_GLAZED_TERRACOTTA -CYAN_SHULKER_BOX -CYAN_STAINED_GLASS -CYAN_STAINED_GLASS_PANE -CYAN_TERRACOTTA -CYAN_WALL_BANNER -CYAN_WOOL -DAMAGED_ANVIL -DANDELION -DARK_OAK_BOAT -DARK_OAK_BUTTON -DARK_OAK_DOOR -DARK_OAK_FENCE -DARK_OAK_FENCE_GATE -DARK_OAK_LEAVES -DARK_OAK_LOG -DARK_OAK_PLANKS -DARK_OAK_PRESSURE_PLATE -DARK_OAK_SAPLING -DARK_OAK_SIGN -DARK_OAK_SLAB -DARK_OAK_STAIRS -DARK_OAK_TRAPDOOR -DARK_OAK_WALL_SIGN -DARK_OAK_WOOD -DARK_PRISMARINE -DARK_PRISMARINE_SLAB -DARK_PRISMARINE_STAIRS -DAYLIGHT_DETECTOR -DEAD_BRAIN_CORAL -DEAD_BRAIN_CORAL_BLOCK -DEAD_BRAIN_CORAL_FAN -DEAD_BRAIN_CORAL_WALL_FAN -DEAD_BUBBLE_CORAL -DEAD_BUBBLE_CORAL_BLOCK -DEAD_BUBBLE_CORAL_FAN -DEAD_BUBBLE_CORAL_WALL_FAN -DEAD_BUSH -DEAD_FIRE_CORAL -DEAD_FIRE_CORAL_BLOCK -DEAD_FIRE_CORAL_FAN -DEAD_FIRE_CORAL_WALL_FAN -DEAD_HORN_CORAL -DEAD_HORN_CORAL_BLOCK -DEAD_HORN_CORAL_FAN -DEAD_HORN_CORAL_WALL_FAN -DEAD_TUBE_CORAL -DEAD_TUBE_CORAL_BLOCK -DEAD_TUBE_CORAL_FAN -DEAD_TUBE_CORAL_WALL_FAN -DEBUG_STICK -DETECTOR_RAIL -DIAMOND -DIAMOND_AXE -DIAMOND_BLOCK -DIAMOND_BOOTS -DIAMOND_CHESTPLATE -DIAMOND_HELMET -DIAMOND_HOE -DIAMOND_HORSE_ARMOR -DIAMOND_LEGGINGS -DIAMOND_ORE -DIAMOND_PICKAXE -DIAMOND_SHOVEL -DIAMOND_SWORD -DIORITE -DIORITE_SLAB -DIORITE_STAIRS -DIORITE_WALL -DIRT -DISPENSER -DOLPHIN_SPAWN_EGG -DONKEY_SPAWN_EGG -DRAGON_BREATH -DRAGON_EGG -DRAGON_HEAD -DRAGON_WALL_HEAD -DRIED_KELP -DRIED_KELP_BLOCK -DROPPER -DROWNED_SPAWN_EGG -EGG -ELDER_GUARDIAN_SPAWN_EGG -ELYTRA -EMERALD -EMERALD_BLOCK -EMERALD_ORE -ENCHANTED_BOOK -ENCHANTED_GOLDEN_APPLE -ENCHANTING_TABLE -END_CRYSTAL -END_GATEWAY -END_PORTAL -END_PORTAL_FRAME -END_ROD -END_STONE -END_STONE_BRICK_SLAB -END_STONE_BRICK_STAIRS -END_STONE_BRICK_WALL -END_STONE_BRICKS -ENDER_CHEST -ENDER_EYE -ENDER_PEARL -ENDERMAN_SPAWN_EGG -ENDERMITE_SPAWN_EGG -EVOKER_SPAWN_EGG -EXPERIENCE_BOTTLE -FARMLAND -FEATHER -FERMENTED_SPIDER_EYE -FERN -FILLED_MAP -FIRE -FIRE_CHARGE -FIRE_CORAL -FIRE_CORAL_BLOCK -FIRE_CORAL_FAN -FIRE_CORAL_WALL_FAN -FIREWORK_ROCKET -FIREWORK_STAR -FISHING_ROD -FLETCHING_TABLE -FLINT -FLINT_AND_STEEL -FLOWER_BANNER_PATTERN -FLOWER_POT -FOX_SPAWN_EGG -FROSTED_ICE -FURNACE -FURNACE_MINECART -GHAST_SPAWN_EGG -GHAST_TEAR -GLASS -GLASS_BOTTLE -GLASS_PANE -GLISTERING_MELON_SLICE -GLOBE_BANNER_PATTERN -GLOWSTONE -GLOWSTONE_DUST -GOLD_BLOCK -GOLD_INGOT -GOLD_NUGGET -GOLD_ORE -GOLDEN_APPLE -GOLDEN_AXE -GOLDEN_BOOTS -GOLDEN_CARROT -GOLDEN_CHESTPLATE -GOLDEN_HELMET -GOLDEN_HOE -GOLDEN_HORSE_ARMOR -GOLDEN_LEGGINGS -GOLDEN_PICKAXE -GOLDEN_SHOVEL -GOLDEN_SWORD -GRANITE -GRANITE_SLAB -GRANITE_STAIRS -GRANITE_WALL -GRASS -GRASS_BLOCK -GRASS_PATH -GRAVEL -GRAY_BANNER -GRAY_BED -GRAY_CARPET -GRAY_CONCRETE -GRAY_CONCRETE_POWDER -GRAY_DYE -GRAY_GLAZED_TERRACOTTA -GRAY_SHULKER_BOX -GRAY_STAINED_GLASS -GRAY_STAINED_GLASS_PANE -GRAY_TERRACOTTA -GRAY_WALL_BANNER -GRAY_WOOL -GREEN_BANNER -GREEN_BED -GREEN_CARPET -GREEN_CONCRETE -GREEN_CONCRETE_POWDER -GREEN_DYE -GREEN_GLAZED_TERRACOTTA -GREEN_SHULKER_BOX -GREEN_STAINED_GLASS -GREEN_STAINED_GLASS_PANE -GREEN_TERRACOTTA -GREEN_WALL_BANNER -GREEN_WOOL -GRINDSTONE -GUARDIAN_SPAWN_EGG -GUNPOWDER -HAY_BLOCK -HEART_OF_THE_SEA -HEAVY_WEIGHTED_PRESSURE_PLATE -HOPPER -HOPPER_MINECART -HORN_CORAL -HORN_CORAL_BLOCK -HORN_CORAL_FAN -HORN_CORAL_WALL_FAN -HORSE_SPAWN_EGG -HUSK_SPAWN_EGG -ICE -INFESTED_CHISELED_STONE_BRICKS -INFESTED_COBBLESTONE -INFESTED_CRACKED_STONE_BRICKS -INFESTED_MOSSY_STONE_BRICKS -INFESTED_STONE -INFESTED_STONE_BRICKS -INK_SAC -IRON_AXE -IRON_BARS -IRON_BLOCK -IRON_BOOTS -IRON_CHESTPLATE -IRON_DOOR -IRON_HELMET -IRON_HOE -IRON_HORSE_ARMOR -IRON_INGOT -IRON_LEGGINGS -IRON_NUGGET -IRON_ORE -IRON_PICKAXE -IRON_SHOVEL -IRON_SWORD -IRON_TRAPDOOR -ITEM_FRAME -JACK_O_LANTERN -JIGSAW -JUKEBOX -JUNGLE_BOAT -JUNGLE_BUTTON -JUNGLE_DOOR -JUNGLE_FENCE -JUNGLE_FENCE_GATE -JUNGLE_LEAVES -JUNGLE_LOG -JUNGLE_PLANKS -JUNGLE_PRESSURE_PLATE -JUNGLE_SAPLING -JUNGLE_SIGN -JUNGLE_SLAB -JUNGLE_STAIRS -JUNGLE_TRAPDOOR -JUNGLE_WALL_SIGN -JUNGLE_WOOD -KELP -KELP_PLANT -KNOWLEDGE_BOOK -LADDER -LANTERN -LAPIS_BLOCK -LAPIS_LAZULI -LAPIS_ORE -LARGE_FERN -LAVA -LAVA_BUCKET -LEAD -LEATHER -LEATHER_BOOTS -LEATHER_CHESTPLATE -LEATHER_HELMET -LEATHER_HORSE_ARMOR -LEATHER_LEGGINGS -LECTERN -LEVER -LIGHT_BLUE_BANNER -LIGHT_BLUE_BED -LIGHT_BLUE_CARPET -LIGHT_BLUE_CONCRETE -LIGHT_BLUE_CONCRETE_POWDER -LIGHT_BLUE_DYE -LIGHT_BLUE_GLAZED_TERRACOTTA -LIGHT_BLUE_SHULKER_BOX -LIGHT_BLUE_STAINED_GLASS -LIGHT_BLUE_STAINED_GLASS_PANE -LIGHT_BLUE_TERRACOTTA -LIGHT_BLUE_WALL_BANNER -LIGHT_BLUE_WOOL -LIGHT_GRAY_BANNER -LIGHT_GRAY_BED -LIGHT_GRAY_CARPET -LIGHT_GRAY_CONCRETE -LIGHT_GRAY_CONCRETE_POWDER -LIGHT_GRAY_DYE -LIGHT_GRAY_GLAZED_TERRACOTTA -LIGHT_GRAY_SHULKER_BOX -LIGHT_GRAY_STAINED_GLASS -LIGHT_GRAY_STAINED_GLASS_PANE -LIGHT_GRAY_TERRACOTTA -LIGHT_GRAY_WALL_BANNER -LIGHT_GRAY_WOOL -LIGHT_WEIGHTED_PRESSURE_PLATE -LILAC -LILY_OF_THE_VALLEY -LILY_PAD -LIME_BANNER -LIME_BED -LIME_CARPET -LIME_CONCRETE -LIME_CONCRETE_POWDER -LIME_DYE -LIME_GLAZED_TERRACOTTA -LIME_SHULKER_BOX -LIME_STAINED_GLASS -LIME_STAINED_GLASS_PANE -LIME_TERRACOTTA -LIME_WALL_BANNER -LIME_WOOL -LINGERING_POTION -LLAMA_SPAWN_EGG -LOOM -MAGENTA_BANNER -MAGENTA_BED -MAGENTA_CARPET -MAGENTA_CONCRETE -MAGENTA_CONCRETE_POWDER -MAGENTA_DYE -MAGENTA_GLAZED_TERRACOTTA -MAGENTA_SHULKER_BOX -MAGENTA_STAINED_GLASS -MAGENTA_STAINED_GLASS_PANE -MAGENTA_TERRACOTTA -MAGENTA_WALL_BANNER -MAGENTA_WOOL -MAGMA_BLOCK -MAGMA_CREAM -MAGMA_CUBE_SPAWN_EGG -MAP -MELON -MELON_SEEDS -MELON_SLICE -MELON_STEM -MILK_BUCKET -MINECART -MOJANG_BANNER_PATTERN -MOOSHROOM_SPAWN_EGG -MOSSY_COBBLESTONE -MOSSY_COBBLESTONE_SLAB -MOSSY_COBBLESTONE_STAIRS -MOSSY_COBBLESTONE_WALL -MOSSY_STONE_BRICK_SLAB -MOSSY_STONE_BRICK_STAIRS -MOSSY_STONE_BRICK_WALL -MOSSY_STONE_BRICKS -MOVING_PISTON -MULE_SPAWN_EGG -MUSHROOM_STEM -MUSHROOM_STEW -MUSIC_DISC_11 -MUSIC_DISC_13 -MUSIC_DISC_BLOCKS -MUSIC_DISC_CAT -MUSIC_DISC_CHIRP -MUSIC_DISC_FAR -MUSIC_DISC_MALL -MUSIC_DISC_MELLOHI -MUSIC_DISC_STAL -MUSIC_DISC_STRAD -MUSIC_DISC_WAIT -MUSIC_DISC_WARD -MUTTON -MYCELIUM -NAME_TAG -NAUTILUS_SHELL -NETHER_BRICK -NETHER_BRICK_FENCE -NETHER_BRICK_SLAB -NETHER_BRICK_STAIRS -NETHER_BRICK_WALL -NETHER_BRICKS -NETHER_PORTAL -NETHER_QUARTZ_ORE -NETHER_STAR -NETHER_WART -NETHER_WART_BLOCK -NETHERRACK -NOTE_BLOCK -OAK_BOAT -OAK_BUTTON -OAK_DOOR -OAK_FENCE -OAK_FENCE_GATE -OAK_LEAVES -OAK_LOG -OAK_PLANKS -OAK_PRESSURE_PLATE -OAK_SAPLING -OAK_SIGN -OAK_SLAB -OAK_STAIRS -OAK_TRAPDOOR -OAK_WALL_SIGN -OAK_WOOD -OBSERVER -OBSIDIAN -OCELOT_SPAWN_EGG -ORANGE_BANNER -ORANGE_BED -ORANGE_CARPET -ORANGE_CONCRETE -ORANGE_CONCRETE_POWDER -ORANGE_DYE -ORANGE_GLAZED_TERRACOTTA -ORANGE_SHULKER_BOX -ORANGE_STAINED_GLASS -ORANGE_STAINED_GLASS_PANE -ORANGE_TERRACOTTA -ORANGE_TULIP -ORANGE_WALL_BANNER -ORANGE_WOOL -OXEYE_DAISY -PACKED_ICE -PAINTING -PANDA_SPAWN_EGG -PAPER -PARROT_SPAWN_EGG -PEONY -PETRIFIED_OAK_SLAB -PHANTOM_MEMBRANE -PHANTOM_SPAWN_EGG -PIG_SPAWN_EGG -PILLAGER_SPAWN_EGG -PINK_BANNER -PINK_BED -PINK_CARPET -PINK_CONCRETE -PINK_CONCRETE_POWDER -PINK_DYE -PINK_GLAZED_TERRACOTTA -PINK_SHULKER_BOX -PINK_STAINED_GLASS -PINK_STAINED_GLASS_PANE -PINK_TERRACOTTA -PINK_TULIP -PINK_WALL_BANNER -PINK_WOOL -PISTON -PISTON_HEAD -PLAYER_HEAD -PLAYER_WALL_HEAD -PODZOL -POISONOUS_POTATO -POLAR_BEAR_SPAWN_EGG -POLISHED_ANDESITE -POLISHED_ANDESITE_SLAB -POLISHED_ANDESITE_STAIRS -POLISHED_DIORITE -POLISHED_DIORITE_SLAB -POLISHED_DIORITE_STAIRS -POLISHED_GRANITE -POLISHED_GRANITE_SLAB -POLISHED_GRANITE_STAIRS -POPPED_CHORUS_FRUIT -POPPY -PORKCHOP -POTATO -POTATOES -POTION -POTTED_ACACIA_SAPLING -POTTED_ALLIUM -POTTED_AZURE_BLUET -POTTED_BAMBOO -POTTED_BIRCH_SAPLING -POTTED_BLUE_ORCHID -POTTED_BROWN_MUSHROOM -POTTED_CACTUS -POTTED_CORNFLOWER -POTTED_DANDELION -POTTED_DARK_OAK_SAPLING -POTTED_DEAD_BUSH -POTTED_FERN -POTTED_JUNGLE_SAPLING -POTTED_LILY_OF_THE_VALLEY -POTTED_OAK_SAPLING -POTTED_ORANGE_TULIP -POTTED_OXEYE_DAISY -POTTED_PINK_TULIP -POTTED_POPPY -POTTED_RED_MUSHROOM -POTTED_RED_TULIP -POTTED_SPRUCE_SAPLING -POTTED_WHITE_TULIP -POTTED_WITHER_ROSE -POWERED_RAIL -PRISMARINE -PRISMARINE_BRICK_SLAB -PRISMARINE_BRICK_STAIRS -PRISMARINE_BRICKS -PRISMARINE_CRYSTALS -PRISMARINE_SHARD -PRISMARINE_SLAB -PRISMARINE_STAIRS -PRISMARINE_WALL -PUFFERFISH -PUFFERFISH_BUCKET -PUFFERFISH_SPAWN_EGG -PUMPKIN -PUMPKIN_PIE -PUMPKIN_SEEDS -PUMPKIN_STEM -PURPLE_BANNER -PURPLE_BED -PURPLE_CARPET -PURPLE_CONCRETE -PURPLE_CONCRETE_POWDER -PURPLE_DYE -PURPLE_GLAZED_TERRACOTTA -PURPLE_SHULKER_BOX -PURPLE_STAINED_GLASS -PURPLE_STAINED_GLASS_PANE -PURPLE_TERRACOTTA -PURPLE_WALL_BANNER -PURPLE_WOOL -PURPUR_BLOCK -PURPUR_PILLAR -PURPUR_SLAB -PURPUR_STAIRS -QUARTZ -QUARTZ_BLOCK -QUARTZ_PILLAR -QUARTZ_SLAB -QUARTZ_STAIRS -RABBIT -RABBIT_FOOT -RABBIT_HIDE -RABBIT_SPAWN_EGG -RABBIT_STEW -RAIL -RAVAGER_SPAWN_EGG -RED_BANNER -RED_BED -RED_CARPET -RED_CONCRETE -RED_CONCRETE_POWDER -RED_DYE -RED_GLAZED_TERRACOTTA -RED_MUSHROOM -RED_MUSHROOM_BLOCK -RED_NETHER_BRICK_SLAB -RED_NETHER_BRICK_STAIRS -RED_NETHER_BRICK_WALL -RED_NETHER_BRICKS -RED_SAND -RED_SANDSTONE -RED_SANDSTONE_SLAB -RED_SANDSTONE_STAIRS -RED_SANDSTONE_WALL -RED_SHULKER_BOX -RED_STAINED_GLASS -RED_STAINED_GLASS_PANE -RED_TERRACOTTA -RED_TULIP -RED_WALL_BANNER -RED_WOOL -REDSTONE -REDSTONE_BLOCK -REDSTONE_LAMP -REDSTONE_ORE -REDSTONE_TORCH -REDSTONE_WALL_TORCH -REDSTONE_WIRE -REPEATER -REPEATING_COMMAND_BLOCK -ROSE_BUSH -ROTTEN_FLESH -SADDLE -SALMON -SALMON_BUCKET -SALMON_SPAWN_EGG -SAND -SANDSTONE -SANDSTONE_SLAB -SANDSTONE_STAIRS -SANDSTONE_WALL -SCAFFOLDING -SCUTE -SEA_LANTERN -SEA_PICKLE -SEAGRASS -SHEARS -SHEEP_SPAWN_EGG -SHIELD -SHULKER_BOX -SHULKER_SHELL -SHULKER_SPAWN_EGG -SILVERFISH_SPAWN_EGG -SKELETON_HORSE_SPAWN_EGG -SKELETON_SKULL -SKELETON_SPAWN_EGG -SKELETON_WALL_SKULL -SKULL_BANNER_PATTERN -SLIME_BALL -SLIME_BLOCK -SLIME_SPAWN_EGG -SMITHING_TABLE -SMOKER -SMOOTH_QUARTZ -SMOOTH_QUARTZ_SLAB -SMOOTH_QUARTZ_STAIRS -SMOOTH_RED_SANDSTONE -SMOOTH_RED_SANDSTONE_SLAB -SMOOTH_RED_SANDSTONE_STAIRS -SMOOTH_SANDSTONE -SMOOTH_SANDSTONE_SLAB -SMOOTH_SANDSTONE_STAIRS -SMOOTH_STONE -SMOOTH_STONE_SLAB -SNOW -SNOW_BLOCK -SNOWBALL -SOUL_SAND -SPAWNER -SPECTRAL_ARROW -SPIDER_EYE -SPIDER_SPAWN_EGG -SPLASH_POTION -SPONGE -SPRUCE_BOAT -SPRUCE_BUTTON -SPRUCE_DOOR -SPRUCE_FENCE -SPRUCE_FENCE_GATE -SPRUCE_LEAVES -SPRUCE_LOG -SPRUCE_PLANKS -SPRUCE_PRESSURE_PLATE -SPRUCE_SAPLING -SPRUCE_SIGN -SPRUCE_SLAB -SPRUCE_STAIRS -SPRUCE_TRAPDOOR -SPRUCE_WALL_SIGN -SPRUCE_WOOD -SQUID_SPAWN_EGG -STICK -STICKY_PISTON -STONE -STONE_AXE -STONE_BRICK_SLAB -STONE_BRICK_STAIRS -STONE_BRICK_WALL -STONE_BRICKS -STONE_BUTTON -STONE_HOE -STONE_PICKAXE -STONE_PRESSURE_PLATE -STONE_SHOVEL -STONE_SLAB -STONE_STAIRS -STONE_SWORD -STONECUTTER -STRAY_SPAWN_EGG -STRING -STRIPPED_ACACIA_LOG -STRIPPED_ACACIA_WOOD -STRIPPED_BIRCH_LOG -STRIPPED_BIRCH_WOOD -STRIPPED_DARK_OAK_LOG -STRIPPED_DARK_OAK_WOOD -STRIPPED_JUNGLE_LOG -STRIPPED_JUNGLE_WOOD -STRIPPED_OAK_LOG -STRIPPED_OAK_WOOD -STRIPPED_SPRUCE_LOG -STRIPPED_SPRUCE_WOOD -STRUCTURE_BLOCK -STRUCTURE_VOID -SUGAR -SUGAR_CANE -SUNFLOWER -SUSPICIOUS_STEW -SWEET_BERRIES -SWEET_BERRY_BUSH -TALL_GRASS -TALL_SEAGRASS -TERRACOTTA -TIPPED_ARROW -TNT -TNT_MINECART -TORCH -TOTEM_OF_UNDYING -TRADER_LLAMA_SPAWN_EGG -TRAPPED_CHEST -TRIDENT -TRIPWIRE -TRIPWIRE_HOOK -TROPICAL_FISH -TROPICAL_FISH_BUCKET -TROPICAL_FISH_SPAWN_EGG -TUBE_CORAL -TUBE_CORAL_BLOCK -TUBE_CORAL_FAN -TUBE_CORAL_WALL_FAN -TURTLE_EGG -TURTLE_HELMET -TURTLE_SPAWN_EGG -VEX_SPAWN_EGG -VILLAGER_SPAWN_EGG -VINDICATOR_SPAWN_EGG -VINE -VOID_AIR -WALL_TORCH -WANDERING_TRADER_SPAWN_EGG -WATER -WATER_BUCKET -WET_SPONGE -WHEAT -WHEAT_SEEDS -WHITE_BANNER -WHITE_BED -WHITE_CARPET -WHITE_CONCRETE -WHITE_CONCRETE_POWDER -WHITE_DYE -WHITE_GLAZED_TERRACOTTA -WHITE_SHULKER_BOX -WHITE_STAINED_GLASS -WHITE_STAINED_GLASS_PANE -WHITE_TERRACOTTA -WHITE_TULIP -WHITE_WALL_BANNER -WHITE_WOOL -WITCH_SPAWN_EGG -WITHER_ROSE -WITHER_SKELETON_SKULL -WITHER_SKELETON_SPAWN_EGG -WITHER_SKELETON_WALL_SKULL -WOLF_SPAWN_EGG -WOODEN_AXE -WOODEN_HOE -WOODEN_PICKAXE -WOODEN_SHOVEL -WOODEN_SWORD -WRITABLE_BOOK -WRITTEN_BOOK -YELLOW_BANNER -YELLOW_BED -YELLOW_CARPET -YELLOW_CONCRETE -YELLOW_CONCRETE_POWDER -YELLOW_DYE -YELLOW_GLAZED_TERRACOTTA -YELLOW_SHULKER_BOX -YELLOW_STAINED_GLASS -YELLOW_STAINED_GLASS_PANE -YELLOW_TERRACOTTA -YELLOW_WALL_BANNER -YELLOW_WOOL -ZOMBIE_HEAD -ZOMBIE_HORSE_SPAWN_EGG -ZOMBIE_PIGMAN_SPAWN_EGG -ZOMBIE_SPAWN_EGG -ZOMBIE_VILLAGER_SPAWN_EGG -ZOMBIE_WALL_HEAD \ No newline at end of file diff --git a/implementation/src/main/resources/lang/de_DE-legacy.lang b/implementation/src/main/resources/lang/de_DE-legacy.lang deleted file mode 100644 index 34da71a..0000000 --- a/implementation/src/main/resources/lang/de_DE-legacy.lang +++ /dev/null @@ -1,919 +0,0 @@ -message.shop-created=&6Dir wurden &c%CREATION-PRICE% &6abgenommen, um diesen Shop zu erstellen. -message.admin-shop-created=&6Dir wurden &c%CREATION-PRICE% &6abgenommen, um diesen Admin Shop zu erstellen. -message.chest-already-shop=&cTruhe ist bereits ein Shop. -message.chest-blocked=&cÜber der Truhe ist kein Platz. -message.double-chest-blocked=&cÜber der Truhe ist kein Platz. -message.shop-removed=&6Shop entfernt. -message.shop-removed-refund=&6Shop entfernt. Dir wurden &c%CREATION-PRICE%&6 erstattet. -message.all-shops-removed=&6Alle (&c%AMOUNT%&6) Shops von &c%VENDOR%&6 wurden entfernt. -message.chest-no-shop=&cTruhe ist kein Shop. -message.shop-create-not-enough-money=&cNicht genug Geld. Du brauchst &6%CREATION-PRICE% &cum einen Shop zu erstellen. -message.shopInfo.vendor=&6Verkäufer: &e%VENDOR% -message.shopInfo.product=&6Produkt: &e%AMOUNT% x %ITEMNAME% -message.shopInfo.stock=&6Auf Lager: &e%STOCK% -message.shopInfo.chest-space=&6Platz in Truhe: &e%CHEST-SPACE% -message.shopInfo.price=&6Preis: Kauf: &e%BUY-PRICE%&6 Verkauf: &e%SELL-PRICE% -message.shopInfo.disabled=&7Deaktiviert -message.shopInfo.is-normal=&6Typ: &eNormal -message.shopInfo.is-admin=&6Typ: &eAdmin -message.buy-and-sell-disabled=&cDu kannst keinen Shop ohne Kauf- und Verkaufspreis erstellen. -message.buy-success=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE%&a von &6%VENDOR% &agekauft. -message.buy-success-admin=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE% &agekauft. -message.sell-success=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE%&a an &6%VENDOR% &averkauft. -message.sell-success-admin=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE% &averkauft. -message.someone-bought=&6%PLAYER% &ahat &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE%&a von deinem Shop gekauft. -message.someone-sold=&6%PLAYER% &ahat &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE%&a an deinen Shop verkauft. -message.revenue-while-offline=&6Während du offline warst, haben deine Shops einen Umsatz von &c%REVENUE%&6 gemacht. -message.not-enough-inventory-space=&cNicht genug Platz im Inventar. -message.chest-not-enough-inventory-space=&cShop ist voll. -message.not-enough-money=&cNicht genug Geld. -message.not-enough-items=&cNicht genug Items. -message.vendor-not-enough-money=&cVerkäufer hat nicht genug Geld. -message.out-of-stock=&cShop ausverkauft. -message.vendor-out-of-stock=&cDein Shop, der &6%AMOUNT% x %ITEMNAME% &cverkauft, ist ausverkauft. -message.error-occurred=&cEin Fehler ist aufgetreten: %ERROR% -message.amount-and-price-not-number=&cAnzahl und Preise müssen Zahlen sein. -message.amount-is-zero=&cAnzahl muss größer als 0 sein. -message.prices-contain-decimals=&cPreise dürfen keine Dezimalen enthalten. -message.no-item-in-hand=&cKein Item in der Hand. -message.click-chest-to-create-shop=&aKlicke innerhalb von 15 Sekunden auf eine Truhe, um einen Shop zu erstellen. -message.click-chest-to-remove-shop=&aKlicke innerhalb von 15 Sekunden auf einen Shop, um ihn zu entfernen. -message.click-chest-for-info=&aKlicke innerhalb von 15 Sekunden auf einen Shop, um Informationen über ihn zu bekommen. -message.click-chest-to-open-shop=&Klicke innerhalb von 15 Sekunden auf einen Shop, um ihn zu öffnen. -message.click-to-confirm=&aKlicke noch einmal zum Bestätigen. -message.opened-shop=&aDu hast &6%VENDOR%&as Shop geöffnet. -message.cannot-break-shop=&cDu kannst einen Shop nicht zerstören. -message.cannot-sell-broken-item=&cDu kannst kein kaputtes Artikel verkaufen. -message.buy-price-too-low=&cDer Kaufpreis muss höher sein als %MIN-PRICE%. -message.sell-price-too-low=&cDer Verkaufspreis muss höher sein als %MIN-PRICE%. -message.buy-price-too-high=&cDer Kaufpreis muss geringer sein als %MAX-PRICE%. -message.sell-price-too-high=&cDer Verkaufspreis muss geringer sein als %MAX-PRICE%. -message.buying-disabled=&cKaufen ist an diesem Shop nicht möglich. -message.selling-disabled=&cVerkaufen ist an diesem Shop nicht möglich. -message.reloaded-shops=&a%AMOUNT% Shop/s wurden erfolgreich neu geladen. -message.shop-limit-reached=&cDu hast dein Limit von &6%LIMIT% &cShop/s erreicht. -message.occupied-shop-slots=&6Du hast &c%AMOUNT%/%LIMIT% &6Shop Slot/s benutzt. -message.cannot-sell-item=&cDu kannst für diesen Artikel keinen Shop erstellen. -message.use-in-creative=&cDu kannst im Kreativ-Modus keine Shops benutzen. -message.select-item=&aÖffne dein Inventar und lass ein Item fallen, um es auszuwählen. -message.item-selected=&aItem wurde ausgewählt: &6%ITEMNAME% -message.creation-cancelled=&cShoperstellung wurde abgebrochen. -message.update.update-available=&6&lVersion &c&l%VERSION% &6&lvon &c&lShopChest &6&list verfügbar. -message.update.click-to-download=Klicke hier zum Herunterladen -message.update.no-update=&6&lKeine neue Aktualisierung verfügbar. -message.update.checking=&6&lSuche nach Aktualisierungen... -message.update.error=&c&lFehler beim Suchen nach Aktualisierungen. -message.noPermission.create=&cDu hast keine Berechtigung einen Shop zu erstellen. -message.noPermission.create-admin=&cDu hast keine Berechtigung einen Admin-Shop zu erstellen. -message.noPermission.create-protected=&cDu hast keine Berechtigung hier einen Shop zu erstellen. -message.noPermission.open-others=&cDu hast keine Berechtigung diesen Shop zu öffnen. -message.noPermission.buy=&cDu hast keine Berechtigung etwas zu kaufen. -message.noPermission.sell=&cDu hast keine Berechtigung etwas zu verkaufen. -message.noPermission.buy-here=&cDu hast keine Berechtigung hier etwas zu kaufen. -message.noPermission.sell-here=&cDu hast keine Berechtigung hier etwas zu verkaufen. -message.noPermission.remove-others=&cDu hast keine Berechtigung diesen Shop zu entfernen. -message.noPermission.remove-admin=&cDu hast keine Berechtigung einen Admin Shop zu entfernen. -message.noPermission.reload=&cDu hast keine Berechtigung die Shops neu zu laden. -message.noPermission.update=&cDu hast keine Berechtigung nach Aktualisierungen zu suchen. -message.noPermission.config=&cDu hast keine Berechtigung Konfigurationswerte zu verändern. -message.noPermission.extend-others=&cDu hast keine Berechtigung diesen Shop zu erweitern. -message.noPermission.extend-protected=&cDu hast keine Berechtigung diesen Shop nach hier zu erweitern. -message.commandDescription.header=&6==== &c/%COMMAND% &6Hilfe -message.commandDescription.footer=&6==== Ende -message.commandDescription.create=&a/%COMMAND% create - Erstelle einen Shop. -message.commandDescription.create-admin=&a/%COMMAND% create [normal|admin] - Erstelle einen Shop. -message.commandDescription.remove=&a/%COMMAND% remove - Entferne einen Shop. -message.commandDescription.info=&a/%COMMAND% info - Rufe Informationen über den Shop ab. -message.commandDescription.removeall=&a/%COMMAND% removeall - Entferne alle Shops eines Spielers. -message.commandDescription.reload=&a/%COMMAND% reload - Lade die Shops neu. -message.commandDescription.update=&a/%COMMAND% update - Suche nach Aktualisierungen. -message.commandDescription.limits=&a/%COMMAND% limits - Betrachte die Shop Limits. -message.commandDescription.open=&a/%COMMAND% open - Öffne einen Shop. -message.commandDescription.config=&a/%COMMAND% config - Verändere Konfigurationswerte. -message.config.set=&6Eigenschaft &a%PROPERTY% &6wurde auf &a%VALUE% &6gesetzt. -message.config.added=&6Wert &a%VALUE% &6wurde zu &a%PROPERTY% &6hinzugefügt. -message.config.removed=&6Wert &a%VALUE% &6wurde aus &a%PROPERTY% &6entfernt. - -book.generation.0=Original -book.generation.1=Kopie des Originals -book.generation.2=Kopie einer Kopie -book.generation.3=Zerrissen -effect.damageBoost=Stärke -effect.fireResistance=Feuerschutz -effect.harm=Direktschaden -effect.heal=Direktheilung -effect.invisibility=Unsichtbarkeit -effect.jump=Sprungkraft -effect.luck=Glück -effect.moveSlowdown=Langsamkeit -effect.moveSpeed=Schnelligkeit -effect.nightVision=Nachtsicht -effect.poison=Vergiftung -effect.regeneration=Regeneration -effect.waterBreathing=Unterwasseratem -effect.weakness=Schwäche -enchantment.arrowDamage=Stärke -enchantment.arrowFire=Flamme -enchantment.arrowInfinite=Unendlich -enchantment.arrowKnockback=Schlag -enchantment.binding_curse=Fluch der Bindung -enchantment.damage.all=Schärfe -enchantment.damage.arthropods=Nemesis der Gliederfüßer -enchantment.damage.undead=Bann -enchantment.digging=Effizienz -enchantment.durability=Haltbarkeit -enchantment.fire=Verbrennung -enchantment.fishingSpeed=Köder -enchantment.frostWalker=Eisläufer -enchantment.knockback=Rückstoß -enchantment.level.1=I -enchantment.level.10=X -enchantment.level.2=II -enchantment.level.3=III -enchantment.level.4=IV -enchantment.level.5=V -enchantment.level.6=VI -enchantment.level.7=VII -enchantment.level.8=VIII -enchantment.level.9=IX -enchantment.lootBonus=Plünderung -enchantment.lootBonusDigger=Glück -enchantment.lootBonusFishing=Glück des Meeres -enchantment.mending=Reparatur -enchantment.oxygen=Atmung -enchantment.protect.all=Schutz -enchantment.protect.explosion=Explosionsschutz -enchantment.protect.fall=Federfall -enchantment.protect.fire=Feuerschutz -enchantment.protect.projectile=Schusssicher -enchantment.sweeping=Schwungkraft -enchantment.thorns=Dornen -enchantment.untouching=Behutsamkeit -enchantment.vanishing_curse=Fluch des Verschwindens -enchantment.waterWalker=Wasserläufer -enchantment.waterWorker=Wasseraffinität -entity.Bat.name=Fledermaus -entity.Blaze.name=Lohe -entity.CaveSpider.name=Höhlenspinne -entity.Chicken.name=Huhn -entity.Cow.name=Kuh -entity.Creeper.name=Creeper -entity.Donkey.name=Esel -entity.ElderGuardian.name=Großer Wächter -entity.Enderman.name=Enderman -entity.Endermite.name=Endermite -entity.EntityHorse.name=Pferd -entity.EvocationIllager.name=Magier -entity.Ghast.name=Ghast -entity.Guardian.name=Wächter -entity.Horse.name=Pferd -entity.Husk.name=Wüstenzombie -entity.IllusionIllager.name=Illusionist -entity.LavaSlime.name=Magmawürfel -entity.Llama.name=Lama -entity.Mule.name=Maultier -entity.MushroomCow.name=Mooshroom -entity.Ozelot.name=Ozelot -entity.Parrot.name=Papagei -entity.Pig.name=Schwein -entity.PigZombie.name=Schweinezombie -entity.PolarBear.name=Eisbär -entity.Rabbit.name=Kaninchen -entity.Sheep.name=Schaf -entity.Shulker.name=Shulker -entity.Silverfish.name=Silberfischchen -entity.Skeleton.name=Skelett -entity.SkeletonHorse.name=Skelettpferd -entity.Slime.name=Schleim -entity.Spider.name=Spinne -entity.Squid.name=Tintenfisch -entity.Stray.name=Eiswanderer -entity.Vex.name=Plagegeist -entity.Villager.name=Dorfbewohner -entity.VindicationIllager.name=Diener -entity.Witch.name=Hexe -entity.WitherSkeleton.name=Witherskelett -entity.Wolf.name=Wolf -entity.Zombie.name=Zombie -entity.ZombieHorse.name=Zombiepferd -entity.ZombieVillager.name=Dorfbewohnerzombie -item.apple.name=Apfel -item.appleGold.name=Goldener Apfel -item.armorStand.name=Rüstungsständer -item.arrow.name=Pfeil -item.banner.black.name=Schwarzes Banner -item.banner.blue.name=Blaues Banner -item.banner.brown.name=Braunes Banner -item.banner.cyan.name=Türkises Banner -item.banner.gray.name=Graues Banner -item.banner.green.name=Grünes Banner -item.banner.lightBlue.name=Hellblaues Banner -item.banner.lime.name=Hellgrünes Banner -item.banner.magenta.name=Magenta Banner -item.banner.orange.name=Oranges Banner -item.banner.pink.name=Rosa Banner -item.banner.purple.name=Violettes Banner -item.banner.red.name=Rotes Banner -item.banner.silver.name=Hellgraues Banner -item.banner.white.name=Weißes Banner -item.banner.yellow.name=Gelbes Banner -item.bed.black.name=Schwarzes Bett -item.bed.blue.name=Blaues Bett -item.bed.brown.name=Braunes Bett -item.bed.cyan.name=Türkises Bett -item.bed.gray.name=Graues Bett -item.bed.green.name=Grünes Bett -item.bed.lightBlue.name=Hellblaues Bett -item.bed.lime.name=Hellgrünes Bett -item.bed.magenta.name=Magenta Bett -item.bed.name=Bett -item.bed.orange.name=Oranges Bett -item.bed.pink.name=Rosa Bett -item.bed.purple.name=Violettes Bett -item.bed.red.name=Rotes Bett -item.bed.silver.name=Hellgraues Bett -item.bed.white.name=Weißes Bett -item.bed.yellow.name=Gelbes Bett -item.beefCooked.name=Steak -item.beefRaw.name=Rohes Rindfleisch -item.beetroot.name=Rote Bete -item.beetroot_seeds.name=Rote-Bete-Samen -item.beetroot_soup.name=Borschtsch -item.blazePowder.name=Lohenstaub -item.blazeRod.name=Lohenrute -item.boat.acacia.name=Akazienholzboot -item.boat.birch.name=Birkenholzboot -item.boat.dark_oak.name=Schwarzeichenholzboot -item.boat.jungle.name=Tropenholzboot -item.boat.oak.name=Eichenholzboot -item.boat.spruce.name=Fichtenholzboot -item.bone.name=Knochen -item.book.name=Buch -item.bootsChain.name=Kettenstiefel -item.bootsCloth.name=Lederstiefel -item.bootsDiamond.name=Diamantstiefel -item.bootsGold.name=Goldstiefel -item.bootsIron.name=Eisenstiefel -item.bow.name=Bogen -item.bowl.name=Schüssel -item.bread.name=Brot -item.brewingStand.name=Braustand -item.brick.name=Ziegel -item.bucket.name=Eimer -item.bucketLava.name=Lavaeimer -item.bucketWater.name=Wassereimer -item.cake.name=Kuchen -item.carrotGolden.name=Goldene Karotte -item.carrotOnAStick.name=Karottenrute -item.carrots.name=Karotte -item.cauldron.name=Kessel -item.charcoal.name=Holzkohle -item.chestplateChain.name=Kettenhemd -item.chestplateCloth.name=Lederjacke -item.chestplateDiamond.name=Diamantharnisch -item.chestplateGold.name=Goldharnisch -item.chestplateIron.name=Eisenharnisch -item.chickenCooked.name=Gebratenes Hühnchen -item.chickenRaw.name=Rohes Hühnchen -item.chorusFruit.name=Chorusfrucht -item.chorusFruitPopped.name=Geplatzte Chorusfrucht -item.clay.name=Tonklumpen -item.clock.name=Uhr -item.coal.name=Kohle -item.comparator.name=Redstone-Komparator -item.compass.name=Kompass -item.cookie.name=Keks -item.diamond.name=Diamant -item.diode.name=Redstone-Verstärker -item.doorAcacia.name=Akazienholztür -item.doorBirch.name=Birkenholztür -item.doorDarkOak.name=Schwarzeichenholztür -item.doorIron.name=Eisentür -item.doorJungle.name=Tropenholztür -item.doorOak.name=Eichenholztür -item.doorSpruce.name=Fichtenholztür -item.dragon_breath.name=Drachenatem -item.dyePowder.black.name=Tintenbeutel -item.dyePowder.blue.name=Lapislazuli -item.dyePowder.brown.name=Kakaobohnen -item.dyePowder.cyan.name=Türkiser Farbstoff -item.dyePowder.gray.name=Grauer Farbstoff -item.dyePowder.green.name=Kaktusgrün -item.dyePowder.lightBlue.name=Hellblauer Farbstoff -item.dyePowder.lime.name=Hellgrüner Farbstoff -item.dyePowder.magenta.name=Magenta Farbstoff -item.dyePowder.orange.name=Oranger Farbstoff -item.dyePowder.pink.name=Rosa Farbstoff -item.dyePowder.purple.name=Violetter Farbstoff -item.dyePowder.red.name=Roter Farbstoff -item.dyePowder.silver.name=Hellgrauer Farbstoff -item.dyePowder.white.name=Knochenmehl -item.dyePowder.yellow.name=Gelber Farbstoff -item.egg.name=Ei -item.elytra.name=Elytren -item.emerald.name=Smaragd -item.emptyMap.name=Leere Karte -item.enchantedBook.name=Verzaubertes Buch -item.end_crystal.name=Enderkristall -item.enderPearl.name=Enderperle -item.expBottle.name=Erfahrungsfläschchen -item.eyeOfEnder.name=Enderauge -item.feather.name=Feder -item.fermentedSpiderEye.name=Fermentiertes Spinnenauge -item.fireball.name=Feuerkugel -item.fireworks.name=Feuerwerksrakete -item.fireworksCharge.name=Feuerwerksstern -item.fish.clownfish.raw.name=Clownfisch -item.fish.cod.cooked.name=Gebratener Kabeljau -item.fish.cod.raw.name=Roher Kabeljau -item.fish.pufferfish.raw.name=Kugelfisch -item.fish.salmon.cooked.name=Gebratener Lachs -item.fish.salmon.raw.name=Roher Lachs -item.fishingRod.name=Angel -item.flint.name=Feuerstein -item.flintAndSteel.name=Feuerzeug -item.flowerPot.name=Blumentopf -item.frame.name=Rahmen -item.ghastTear.name=Ghastträne -item.glassBottle.name=Glasflasche -item.goldNugget.name=Goldklumpen -item.hatchetDiamond.name=Diamantaxt -item.hatchetGold.name=Goldaxt -item.hatchetIron.name=Eisenaxt -item.hatchetStone.name=Steinaxt -item.hatchetWood.name=Holzaxt -item.helmetChain.name=Kettenhaube -item.helmetCloth.name=Lederkappe -item.helmetDiamond.name=Diamanthelm -item.helmetGold.name=Goldhelm -item.helmetIron.name=Eisenhelm -item.hoeDiamond.name=Diamanthacke -item.hoeGold.name=Goldhacke -item.hoeIron.name=Eisenhacke -item.hoeStone.name=Steinhacke -item.hoeWood.name=Holzhacke -item.horsearmordiamond.name=Diamantene Pferderüstung -item.horsearmorgold.name=Goldene Pferderüstung -item.horsearmormetal.name=Eiserne Pferderüstung -item.ingotGold.name=Goldbarren -item.ingotIron.name=Eisenbarren -item.ironNugget.name=Eisenklumpen -item.knowledgeBook.name=Buch des Wissens -item.leash.name=Leine -item.leather.name=Leder -item.leggingsChain.name=Kettenhose -item.leggingsCloth.name=Lederhose -item.leggingsDiamond.name=Diamantbeinschutz -item.leggingsGold.name=Goldbeinschutz -item.leggingsIron.name=Eisenbeinschutz -item.magmaCream.name=Magmacreme -item.map.name=Karte -item.melon.name=Melonenscheibe -item.milk.name=Milch -item.minecart.name=Lore -item.minecartChest.name=Güterlore -item.minecartCommandBlock.name=Befehlsblocklore -item.minecartFurnace.name=Antriebslore -item.minecartHopper.name=Trichterlore -item.minecartTnt.name=TNT-Lore -item.monsterPlacer.name=Erschaffe -item.mushroomStew.name=Pilzsuppe -item.muttonCooked.name=Gebratenes Hammelfleisch -item.muttonRaw.name=Rohes Hammelfleisch -item.nameTag.name=Namensschild -item.netherStalkSeeds.name=Netherwarze -item.netherStar.name=Netherstern -item.netherbrick.name=Netherziegel -item.netherquartz.name=Netherquarz -item.painting.name=Gemälde -item.paper.name=Papier -item.pickaxeDiamond.name=Diamantspitzhacke -item.pickaxeGold.name=Goldspitzhacke -item.pickaxeIron.name=Eisenspitzhacke -item.pickaxeStone.name=Steinspitzhacke -item.pickaxeWood.name=Holzspitzhacke -item.porkchopCooked.name=Gebratenes Schweinefleisch -item.porkchopRaw.name=Rohes Schweinefleisch -item.potato.name=Kartoffel -item.potatoBaked.name=Ofenkartoffel -item.potatoPoisonous.name=Giftige Kartoffel -item.potion.name=Trank -item.prismarineCrystals.name=Prismarinkristalle -item.prismarineShard.name=Prismarinscherbe -item.pumpkinPie.name=Kürbiskuchen -item.rabbitCooked.name=Gebratenes Kaninchen -item.rabbitFoot.name=Hasenpfote -item.rabbitHide.name=Kaninchenfell -item.rabbitRaw.name=Rohes Kaninchen -item.rabbitStew.name=Kaninchenragout -item.record.11.desc=C418 - 11 -item.record.13.desc=C418 - 13 -item.record.blocks.desc=C418 - Blocks -item.record.cat.desc=C418 - Cat -item.record.chirp.desc=C418 - Chirp -item.record.far.desc=C418 - Far -item.record.mall.desc=C418 - Mall -item.record.mellohi.desc=C418 - Mellohi -item.record.name=Schallplatte -item.record.stal.desc=C418 - Stal -item.record.strad.desc=C418 - Strad -item.record.wait.desc=C418 - Wait -item.record.ward.desc=C418 - Ward -item.redstone.name=Redstone -item.reeds.name=Zuckerrohr -item.rottenFlesh.name=Verrottetes Fleisch -item.saddle.name=Sattel -item.seeds.name=Weizenkörner -item.seeds_melon.name=Melonenkerne -item.seeds_pumpkin.name=Kürbiskerne -item.shears.name=Schere -item.shield.name=Schild -item.shovelDiamond.name=Diamantschaufel -item.shovelGold.name=Goldschaufel -item.shovelIron.name=Eisenschaufel -item.shovelStone.name=Steinschaufel -item.shovelWood.name=Holzschaufel -item.shulkerShell.name=Shulkerschale -item.sign.name=Schild -item.skull.char.name=Kopf -item.skull.creeper.name=Creeperkopf -item.skull.dragon.name=Drachenkopf -item.skull.skeleton.name=Skelettschädel -item.skull.wither.name=Witherskelettschädel -item.skull.zombie.name=Zombiekopf -item.slimeball.name=Schleimball -item.snowball.name=Schneeball -item.speckledMelon.name=Glitzernde Melonenscheibe -item.spectral_arrow.name=Spektralpfeil -item.spiderEye.name=Spinnenauge -item.stick.name=Stock -item.string.name=Faden -item.sugar.name=Zucker -item.sulphur.name=Schwarzpulver -item.swordDiamond.name=Diamantschwert -item.swordGold.name=Goldschwert -item.swordIron.name=Eisenschwert -item.swordStone.name=Steinschwert -item.swordWood.name=Holzschwert -item.tipped_arrow.name=Getränkter Pfeil -item.totem.name=Totem der Unsterblichkeit -item.wheat.name=Weizen -item.writingBook.name=Buch und Feder -item.writtenBook.name=Beschriebenes Buch -item.yellowDust.name=Glowstonestaub -lingering_potion.effect.awkward=Seltsamer Verweiltrank -lingering_potion.effect.empty=Nicht braubarer Verweiltrank -lingering_potion.effect.fire_resistance=Verweiltrank der Feuerresistenz -lingering_potion.effect.harming=Verweiltrank des Schadens -lingering_potion.effect.healing=Verweiltrank der Heilung -lingering_potion.effect.invisibility=Verweiltrank der Unsichtbarkeit -lingering_potion.effect.leaping=Verweiltrank der Sprungkraft -lingering_potion.effect.luck=Verweiltrank des Glücks -lingering_potion.effect.mundane=Gewöhnlicher Verweiltrank -lingering_potion.effect.night_vision=Verweiltrank der Nachtsicht -lingering_potion.effect.poison=Verweiltrank der Vergiftung -lingering_potion.effect.regeneration=Verweiltrank der Regeneration -lingering_potion.effect.slowness=Verweiltrank der Langsamkeit -lingering_potion.effect.strength=Verweiltrank der Stärke -lingering_potion.effect.swiftness=Verweiltrank der Schnelligkeit -lingering_potion.effect.thick=Dickflüssiger Verweiltrank -lingering_potion.effect.water=Verweilende Wasserflasche -lingering_potion.effect.water_breathing=Verweiltrank der Unterwasseratmung -lingering_potion.effect.weakness=Verweiltrank der Schwäche -potion.effect.awkward=Seltsamer Trank -potion.effect.empty=Nicht braubarer Trank -potion.effect.fire_resistance=Trank der Feuerresistenz -potion.effect.harming=Trank des Schadens -potion.effect.healing=Trank der Heilung -potion.effect.invisibility=Trank der Unsichtbarkeit -potion.effect.leaping=Trank der Sprungkraft -potion.effect.luck=Trank des Glücks -potion.effect.mundane=Gewöhnlicher Trank -potion.effect.night_vision=Trank der Nachtsicht -potion.effect.poison=Trank der Vergiftung -potion.effect.regeneration=Trank der Regeneration -potion.effect.slowness=Trank der Langsamkeit -potion.effect.strength=Trank der Stärke -potion.effect.swiftness=Trank der Schnelligkeit -potion.effect.thick=Dickflüssiger Trank -potion.effect.water=Wasserflasche -potion.effect.water_breathing=Trank der Unterwasseratmung -potion.effect.weakness=Trank der Schwäche -splash_potion.effect.awkward=Seltsamer Wurftrank -splash_potion.effect.empty=Nicht braubarer Wurftrank -splash_potion.effect.fire_resistance=Wurftrank der Feuerresistenz -splash_potion.effect.harming=Wurftrank des Schadens -splash_potion.effect.healing=Wurftrank der Heilung -splash_potion.effect.invisibility=Wurftrank der Unsichtbarkeit -splash_potion.effect.leaping=Wurftrank der Sprungkraft -splash_potion.effect.luck=Wurftrank des Glücks -splash_potion.effect.mundane=Gewöhnlicher Wurftrank -splash_potion.effect.night_vision=Wurftrank der Nachtsicht -splash_potion.effect.poison=Wurftrank der Vergiftung -splash_potion.effect.regeneration=Wurftrank der Regeneration -splash_potion.effect.slowness=Wurftrank der Langsamkeit -splash_potion.effect.strength=Wurftrank der Stärke -splash_potion.effect.swiftness=Wurftrank der Schnelligkeit -splash_potion.effect.thick=Dickflüssiger Wurftrank -splash_potion.effect.water=Werfbare Wasserflasche -splash_potion.effect.water_breathing=Wurftrank der Unterwasseratmung -splash_potion.effect.weakness=Wurftrank der Schwäche -tile.acaciaFence.name=Akazienholzzaun -tile.acaciaFenceGate.name=Akazienholzzauntor -tile.activatorRail.name=Aktivierungsschiene -tile.anvil.intact.name=Amboss -tile.anvil.slightlyDamaged.name=Leicht beschädigter Amboss -tile.anvil.veryDamaged.name=Stark beschädigter Amboss -tile.barrier.name=Barriere -tile.beacon.name=Leuchtfeuer -tile.bedrock.name=Grundgestein -tile.birchFence.name=Birkenholzzaun -tile.birchFenceGate.name=Birkenholzzauntor -tile.blockCoal.name=Kohleblock -tile.blockDiamond.name=Diamantblock -tile.blockEmerald.name=Smaragdblock -tile.blockGold.name=Goldblock -tile.blockIron.name=Eisenblock -tile.blockLapis.name=Lapislazuliblock -tile.blockRedstone.name=Redstone-Block -tile.boneBlock.name=Knochenblock -tile.bookshelf.name=Bücherregal -tile.brick.name=Ziegelsteine -tile.button.name=Knopf -tile.cactus.name=Kaktus -tile.chainCommandBlock.name=Ketten-Befehlsblock -tile.chest.name=Truhe -tile.chestTrap.name=Redstone-Truhe -tile.chorusFlower.name=Chorusblüte -tile.chorusPlant.name=Choruspflanze -tile.clay.name=Ton -tile.clayHardened.name=Keramik -tile.clayHardenedStained.black.name=Schwarze Keramik -tile.clayHardenedStained.blue.name=Blaue Keramik -tile.clayHardenedStained.brown.name=Braune Keramik -tile.clayHardenedStained.cyan.name=Türkise Keramik -tile.clayHardenedStained.gray.name=Graue Keramik -tile.clayHardenedStained.green.name=Grüne Keramik -tile.clayHardenedStained.lightBlue.name=Hellblaue Keramik -tile.clayHardenedStained.lime.name=Hellgrüne Keramik -tile.clayHardenedStained.magenta.name=Magenta Keramik -tile.clayHardenedStained.orange.name=Orange Keramik -tile.clayHardenedStained.pink.name=Rosa Keramik -tile.clayHardenedStained.purple.name=Violette Keramik -tile.clayHardenedStained.red.name=Rote Keramik -tile.clayHardenedStained.silver.name=Hellgraue Keramik -tile.clayHardenedStained.white.name=Weiße Keramik -tile.clayHardenedStained.yellow.name=Gelbe Keramik -tile.cloth.black.name=Schwarze Wolle -tile.cloth.blue.name=Blaue Wolle -tile.cloth.brown.name=Braune Wolle -tile.cloth.cyan.name=Türkise Wolle -tile.cloth.gray.name=Graue Wolle -tile.cloth.green.name=Grüne Wolle -tile.cloth.lightBlue.name=Hellblaue Wolle -tile.cloth.lime.name=Hellgrüne Wolle -tile.cloth.magenta.name=Magenta Wolle -tile.cloth.orange.name=Orange Wolle -tile.cloth.pink.name=Rosa Wolle -tile.cloth.purple.name=Violette Wolle -tile.cloth.red.name=Rote Wolle -tile.cloth.silver.name=Hellgraue Wolle -tile.cloth.white.name=Weiße Wolle -tile.cloth.yellow.name=Gelbe Wolle -tile.cobbleWall.mossy.name=Bemooste Bruchsteinmauer -tile.cobbleWall.normal.name=Bruchsteinmauer -tile.commandBlock.name=Befehlsblock -tile.concrete.black.name=Schwarzer Beton -tile.concrete.blue.name=Blauer Beton -tile.concrete.brown.name=Brauner Beton -tile.concrete.cyan.name=Türkiser Beton -tile.concrete.gray.name=Grauer Beton -tile.concrete.green.name=Grüner Beton -tile.concrete.lightBlue.name=Hellblauer Beton -tile.concrete.lime.name=Hellgrüner Beton -tile.concrete.magenta.name=Magenta Beton -tile.concrete.orange.name=Oranger Beton -tile.concrete.pink.name=Rosa Beton -tile.concrete.purple.name=Violetter Beton -tile.concrete.red.name=Roter Beton -tile.concrete.silver.name=Hellgrauer Beton -tile.concrete.white.name=Weißer Beton -tile.concrete.yellow.name=Gelber Beton -tile.concretePowder.black.name=Schwarzer Trockenbeton -tile.concretePowder.blue.name=Blauer Trockenbeton -tile.concretePowder.brown.name=Brauner Trockenbeton -tile.concretePowder.cyan.name=Türkiser Trockenbeton -tile.concretePowder.gray.name=Grauer Trockenbeton -tile.concretePowder.green.name=Grüner Trockenbeton -tile.concretePowder.lightBlue.name=Hellblauer Trockenbeton -tile.concretePowder.lime.name=Hellgrüner Trockenbeton -tile.concretePowder.magenta.name=Magenta Trockenbeton -tile.concretePowder.orange.name=Oranger Trockenbeton -tile.concretePowder.pink.name=Rosa Trockenbeton -tile.concretePowder.purple.name=Violetter Trockenbeton -tile.concretePowder.red.name=Roter Trockenbeton -tile.concretePowder.silver.name=Hellgrauer Trockenbeton -tile.concretePowder.white.name=Weißer Trockenbeton -tile.concretePowder.yellow.name=Gelber Trockenbeton -tile.darkOakFence.name=Schwarzeichenholzzaun -tile.darkOakFenceGate.name=Schwarzeichenholzzauntor -tile.daylightDetector.name=Tageslichtsensor -tile.deadbush.name=Toter Busch -tile.detectorRail.name=Sensorschiene -tile.dirt.coarse.name=Grobe Erde -tile.dirt.default.name=Erde -tile.dirt.podzol.name=Podsol -tile.dispenser.name=Werfer -tile.doublePlant.fern.name=Großer Farn -tile.doublePlant.grass.name=Hohes Gras -tile.doublePlant.paeonia.name=Pfingstrose -tile.doublePlant.rose.name=Rosenstrauch -tile.doublePlant.sunflower.name=Sonnenblume -tile.doublePlant.syringa.name=Flieder -tile.dragonEgg.name=Drachenei -tile.dropper.name=Spender -tile.enchantmentTable.name=Zaubertisch -tile.endBricks.name=Endsteinziegel -tile.endPortalFrame.name=Endportalrahmen -tile.endRod.name=Endstab -tile.enderChest.name=Endertruhe -tile.farmland.name=Ackerboden -tile.fence.name=Eichenholzzaun -tile.fenceGate.name=Eichenholzzauntor -tile.fenceIron.name=Eisengitter -tile.fire.name=Feuer -tile.flower1.dandelion.name=Löwenzahn -tile.flower2.allium.name=Sternlauch -tile.flower2.blueOrchid.name=Blaue Orchidee -tile.flower2.houstonia.name=Porzellansternchen -tile.flower2.oxeyeDaisy.name=Margerite -tile.flower2.poppy.name=Mohn -tile.flower2.tulipOrange.name=Orange Tulpe -tile.flower2.tulipPink.name=Rosa Tulpe -tile.flower2.tulipRed.name=Rote Tulpe -tile.flower2.tulipWhite.name=Weiße Tulpe -tile.furnace.name=Ofen -tile.glass.name=Glas -tile.glazedTerracottaBlack.name=Schwarze glasierte Keramik -tile.glazedTerracottaBlue.name=Blaue glasierte Keramik -tile.glazedTerracottaBrown.name=Braune glasierte Keramik -tile.glazedTerracottaCyan.name=Türkise glasierte Keramik -tile.glazedTerracottaGray.name=Graue glasierte Keramik -tile.glazedTerracottaGreen.name=Grüne glasierte Keramik -tile.glazedTerracottaLightBlue.name=Hellblaue glasierte Keramik -tile.glazedTerracottaLime.name=Hellgrüne glasierte Keramik -tile.glazedTerracottaMagenta.name=Magenta glasierte Keramik -tile.glazedTerracottaOrange.name=Orange glasierte Keramik -tile.glazedTerracottaPink.name=Rosa glasierte Keramik -tile.glazedTerracottaPurple.name=Violette glasierte Keramik -tile.glazedTerracottaRed.name=Rote glasierte Keramik -tile.glazedTerracottaSilver.name=Hellgraue glasierte Keramik -tile.glazedTerracottaWhite.name=Weiße glasierte Keramik -tile.glazedTerracottaYellow.name=Gelbe glasierte Keramik -tile.goldenRail.name=Antriebsschiene -tile.grass.name=Grasblock -tile.grassPath.name=Trampelpfad -tile.gravel.name=Kies -tile.hayBlock.name=Strohballen -tile.hellrock.name=Netherrack -tile.hellsand.name=Seelensand -tile.hopper.name=Trichter -tile.ice.name=Eis -tile.icePacked.name=Packeis -tile.ironTrapdoor.name=Eisenfalltür -tile.jukebox.name=Plattenspieler -tile.jungleFence.name=Tropenholzzaun -tile.jungleFenceGate.name=Tropenholzzauntor -tile.ladder.name=Leiter -tile.lava.name=Lava -tile.leaves.acacia.name=Akazienlaub -tile.leaves.big_oak.name=Schwarzeichenlaub -tile.leaves.birch.name=Birkenlaub -tile.leaves.jungle.name=Tropenbaumlaub -tile.leaves.oak.name=Eichenlaub -tile.leaves.spruce.name=Fichtennadeln -tile.lever.name=Hebel -tile.lightgem.name=Glowstone -tile.litpumpkin.name=Kürbislaterne -tile.log.acacia.name=Akazienholz -tile.log.big_oak.name=Schwarzeichenholz -tile.log.birch.name=Birkenholz -tile.log.jungle.name=Tropenholz -tile.log.oak.name=Eichenholz -tile.log.spruce.name=Fichtenholz -tile.magma.name=Magmablock -tile.melon.name=Melone -tile.mobSpawner.name=Monsterspawner -tile.monsterStoneEgg.brick.name=Steinziegel (Silberfischchen) -tile.monsterStoneEgg.chiseledbrick.name=Gemeißelte Steinziegel (Silberfischchen) -tile.monsterStoneEgg.cobble.name=Bruchstein (Silberfischchen) -tile.monsterStoneEgg.crackedbrick.name=Rissige Steinziegel (Silberfischchen) -tile.monsterStoneEgg.mossybrick.name=Bemooste Steinziegel (Silberfischchen) -tile.monsterStoneEgg.stone.name=Stein (Silberfischchen) -tile.mushroom.name=Pilz -tile.musicBlock.name=Notenblock -tile.mycel.name=Myzel -tile.netherBrick.name=Netherziegel -tile.netherFence.name=Netherziegelzaun -tile.netherStalk.name=Netherwarze -tile.netherWartBlock.name=Netherwarzenblock -tile.netherquartz.name=Netherquarzerz -tile.notGate.name=Redstone-Fackel -tile.observer.name=Beobachter -tile.obsidian.name=Obsidian -tile.oreCoal.name=Steinkohle -tile.oreDiamond.name=Diamanterz -tile.oreEmerald.name=Smaragderz -tile.oreGold.name=Golderz -tile.oreIron.name=Eisenerz -tile.oreLapis.name=Lapislazulierz -tile.oreRedstone.name=Redstone-Erz -tile.pistonBase.name=Kolben -tile.pistonStickyBase.name=Klebriger Kolben -tile.portal.name=Portal -tile.pressurePlateStone.name=Steindruckplatte -tile.pressurePlateWood.name=Holzdruckplatte -tile.prismarine.bricks.name=Prismarinziegel -tile.prismarine.dark.name=Dunkler Prismarin -tile.prismarine.rough.name=Prismarin -tile.pumpkin.name=Kürbis -tile.purpurBlock.name=Purpurblock -tile.purpurPillar.name=Purpursäule -tile.purpurSlab.name=Purpurstufe -tile.quartzBlock.chiseled.name=Gemeißelter Quarzblock -tile.quartzBlock.default.name=Quarzblock -tile.quartzBlock.lines.name=Quarzsäule -tile.rail.name=Schiene -tile.redNetherBrick.name=Rote Netherziegel -tile.redSandStone.chiseled.name=Gemeißelter roter Sandstein -tile.redSandStone.default.name=Roter Sandstein -tile.redSandStone.smooth.name=Glatter roter Sandstein -tile.redstoneLight.name=Redstone-Lampe -tile.repeatingCommandBlock.name=Wiederhol-Befehlsblock -tile.sand.default.name=Sand -tile.sand.red.name=Roter Sand -tile.sandStone.chiseled.name=Gemeißelter Sandstein -tile.sandStone.default.name=Sandstein -tile.sandStone.smooth.name=Glatter Sandstein -tile.sapling.acacia.name=Akaziensetzling -tile.sapling.big_oak.name=Schwarzeichensetzling -tile.sapling.birch.name=Birkensetzling -tile.sapling.jungle.name=Tropenbaumsetzling -tile.sapling.oak.name=Eichensetzling -tile.sapling.spruce.name=Fichtensetzling -tile.seaLantern.name=Seelaterne -tile.shulkerBoxBlack.name=Schwarze Shulkerkiste -tile.shulkerBoxBlue.name=Blaue Shulkerkiste -tile.shulkerBoxBrown.name=Braune Shulkerkiste -tile.shulkerBoxCyan.name=Türkise Shulkerkiste -tile.shulkerBoxGray.name=Graue Shulkerkiste -tile.shulkerBoxGreen.name=Grüne Shulkerkiste -tile.shulkerBoxLightBlue.name=Hellblaue Shulkerkiste -tile.shulkerBoxLime.name=Hellgrüne Shulkerkiste -tile.shulkerBoxMagenta.name=Magenta Shulkerkiste -tile.shulkerBoxOrange.name=Orange Shulkerkiste -tile.shulkerBoxPink.name=Rosa Shulkerkiste -tile.shulkerBoxPurple.name=Violette Shulkerkiste -tile.shulkerBoxRed.name=Rote Shulkerkiste -tile.shulkerBoxSilver.name=Hellgraue Shulkerkiste -tile.shulkerBoxWhite.name=Weiße Shulkerkiste -tile.shulkerBoxYellow.name=Gelbe Shulkerkiste -tile.slime.name=Schleimblock -tile.snow.name=Schnee -tile.sponge.dry.name=Schwamm -tile.sponge.wet.name=Nasser Schwamm -tile.spruceFence.name=Fichtenholzzaun -tile.spruceFenceGate.name=Fichtenholzzauntor -tile.stainedGlass.black.name=Schwarzes Glas -tile.stainedGlass.blue.name=Blaues Glas -tile.stainedGlass.brown.name=Braunes Glas -tile.stainedGlass.cyan.name=Türkises Glas -tile.stainedGlass.gray.name=Graues Glas -tile.stainedGlass.green.name=Grünes Glas -tile.stainedGlass.lightBlue.name=Hellblaues Glas -tile.stainedGlass.lime.name=Hellgrünes Glas -tile.stainedGlass.magenta.name=Magenta Glas -tile.stainedGlass.orange.name=Oranges Glas -tile.stainedGlass.pink.name=Rosa Glas -tile.stainedGlass.purple.name=Violettes Glas -tile.stainedGlass.red.name=Rotes Glas -tile.stainedGlass.silver.name=Hellgraues Glas -tile.stainedGlass.white.name=Weißes Glas -tile.stainedGlass.yellow.name=Gelbes Glas -tile.stairsBrick.name=Ziegeltreppe -tile.stairsNetherBrick.name=Netherziegeltreppe -tile.stairsPurpur.name=Purpurtreppe -tile.stairsQuartz.name=Quarztreppe -tile.stairsRedSandStone.name=Rote Sandsteintreppe -tile.stairsSandStone.name=Sandsteintreppe -tile.stairsStone.name=Bruchsteintreppe -tile.stairsStoneBrickSmooth.name=Steinziegeltreppe -tile.stairsWood.name=Eichenholztreppe -tile.stairsWoodAcacia.name=Akazienholztreppe -tile.stairsWoodBirch.name=Birkenholztreppe -tile.stairsWoodDarkOak.name=Schwarzeichenholztreppe -tile.stairsWoodJungle.name=Tropenholztreppe -tile.stairsWoodSpruce.name=Fichtenholztreppe -tile.stone.andesite.name=Andesit -tile.stone.andesiteSmooth.name=Polierter Andesit -tile.stone.diorite.name=Diorit -tile.stone.dioriteSmooth.name=Polierter Diorit -tile.stone.granite.name=Granit -tile.stone.graniteSmooth.name=Polierter Granit -tile.stone.stone.name=Stein -tile.stoneMoss.name=Bemooster Bruchstein -tile.stoneSlab.brick.name=Ziegelstufe -tile.stoneSlab.cobble.name=Bruchsteinstufe -tile.stoneSlab.netherBrick.name=Netherziegelstufe -tile.stoneSlab.quartz.name=Quarzstufe -tile.stoneSlab.sand.name=Sandsteinstufe -tile.stoneSlab.smoothStoneBrick.name=Steinziegelstufe -tile.stoneSlab.stone.name=Steinstufe -tile.stoneSlab.wood.name=Holzstufe -tile.stoneSlab2.red_sandstone.name=Rote Sandsteinstufe -tile.stonebrick.name=Bruchstein -tile.stonebricksmooth.chiseled.name=Gemeißelte Steinziegel -tile.stonebricksmooth.cracked.name=Rissige Steinziegel -tile.stonebricksmooth.default.name=Steinziegel -tile.stonebricksmooth.mossy.name=Bemooste Steinziegel -tile.structureBlock.name=Konstruktionsblock -tile.structureVoid.name=Konstruktionsleere -tile.tallgrass.fern.name=Farn -tile.tallgrass.grass.name=Gras -tile.tallgrass.shrub.name=Busch -tile.thinGlass.name=Glasscheibe -tile.thinStainedGlass.black.name=Schwarze Glasscheibe -tile.thinStainedGlass.blue.name=Blaue Glasscheibe -tile.thinStainedGlass.brown.name=Braune Glasscheibe -tile.thinStainedGlass.cyan.name=Türkise Glasscheibe -tile.thinStainedGlass.gray.name=Graue Glasscheibe -tile.thinStainedGlass.green.name=Grüne Glasscheibe -tile.thinStainedGlass.lightBlue.name=Hellblaue Glasscheibe -tile.thinStainedGlass.lime.name=Hellgrüne Glasscheibe -tile.thinStainedGlass.magenta.name=Magenta Glasscheibe -tile.thinStainedGlass.orange.name=Orange Glasscheibe -tile.thinStainedGlass.pink.name=Rosa Glasscheibe -tile.thinStainedGlass.purple.name=Violette Glasscheibe -tile.thinStainedGlass.red.name=Rote Glasscheibe -tile.thinStainedGlass.silver.name=Hellgraue Glasscheibe -tile.thinStainedGlass.white.name=Weiße Glasscheibe -tile.thinStainedGlass.yellow.name=Gelbe Glasscheibe -tile.tnt.name=TNT -tile.torch.name=Fackel -tile.trapdoor.name=Holzfalltür -tile.tripWireSource.name=Haken -tile.vine.name=Ranken -tile.water.name=Wasser -tile.waterlily.name=Seerosenblatt -tile.web.name=Spinnennetz -tile.weightedPlate_heavy.name=Wägeplatte (hohe Gewichte) -tile.weightedPlate_light.name=Wägeplatte (niedrige Gewichte) -tile.whiteStone.name=Endstein -tile.wood.acacia.name=Akazienholzbretter -tile.wood.big_oak.name=Schwarzeichenholzbretter -tile.wood.birch.name=Birkenholzbretter -tile.wood.jungle.name=Tropenholzbretter -tile.wood.oak.name=Eichenholzbretter -tile.wood.spruce.name=Fichtenholzbretter -tile.woodSlab.acacia.name=Akazienholzstufe -tile.woodSlab.big_oak.name=Schwarzeichenholzstufe -tile.woodSlab.birch.name=Birkenholzstufe -tile.woodSlab.jungle.name=Tropenholzstufe -tile.woodSlab.oak.name=Eichenholzstufe -tile.woodSlab.spruce.name=Fichtenholzstufe -tile.woolCarpet.black.name=Schwarzer Teppich -tile.woolCarpet.blue.name=Blauer Teppich -tile.woolCarpet.brown.name=Brauner Teppich -tile.woolCarpet.cyan.name=Türkiser Teppich -tile.woolCarpet.gray.name=Grauer Teppich -tile.woolCarpet.green.name=Grüner Teppich -tile.woolCarpet.lightBlue.name=Hellblauer Teppich -tile.woolCarpet.lime.name=Hellgrüner Teppich -tile.woolCarpet.magenta.name=Magenta Teppich -tile.woolCarpet.orange.name=Oranger Teppich -tile.woolCarpet.pink.name=Rosa Teppich -tile.woolCarpet.purple.name=Violetter Teppich -tile.woolCarpet.red.name=Roter Teppich -tile.woolCarpet.silver.name=Hellgrauer Teppich -tile.woolCarpet.white.name=Weißer Teppich -tile.woolCarpet.yellow.name=Gelber Teppich -tile.workbench.name=Werkbank -tipped_arrow.effect.awkward=Getränkter Pfeil -tipped_arrow.effect.empty=Nicht herstellbarer getränkter Pfeil -tipped_arrow.effect.fire_resistance=Pfeil der Feuerresistenz -tipped_arrow.effect.harming=Pfeil des Schadens -tipped_arrow.effect.healing=Pfeil der Heilung -tipped_arrow.effect.invisibility=Pfeil der Unsichtbarkeit -tipped_arrow.effect.leaping=Pfeil der Sprungkraft -tipped_arrow.effect.luck=Pfeil des Glücks -tipped_arrow.effect.mundane=Getränkter Pfeil -tipped_arrow.effect.night_vision=Pfeil der Nachtsicht -tipped_arrow.effect.poison=Pfeil der Vergiftung -tipped_arrow.effect.regeneration=Pfeil der Regeneration -tipped_arrow.effect.slowness=Pfeil der Langsamkeit -tipped_arrow.effect.strength=Pfeil der Stärke -tipped_arrow.effect.swiftness=Pfeil der Schnelligkeit -tipped_arrow.effect.thick=Getränkter Pfeil -tipped_arrow.effect.water=Nasser Pfeil -tipped_arrow.effect.water_breathing=Pfeil der Unterwasseratmung -tipped_arrow.effect.weakness=Pfeil der Schwäche \ No newline at end of file diff --git a/implementation/src/main/resources/lang/de_DE.lang b/implementation/src/main/resources/lang/de_DE.lang deleted file mode 100644 index c06b1cb..0000000 --- a/implementation/src/main/resources/lang/de_DE.lang +++ /dev/null @@ -1,1218 +0,0 @@ -message.shop-created=&6Dir wurden &c%CREATION-PRICE% &6abgenommen, um diesen Shop zu erstellen. -message.admin-shop-created=&6Dir wurden &c%CREATION-PRICE% &6abgenommen, um diesen Admin Shop zu erstellen. -message.chest-already-shop=&cTruhe ist bereits ein Shop. -message.chest-blocked=&cÜber der Truhe ist kein Platz. -message.double-chest-blocked=&cÜber der Truhe ist kein Platz. -message.shop-removed=&6Shop entfernt. -message.shop-removed-refund=&6Shop entfernt. Dir wurden &c%CREATION-PRICE%&6 erstattet. -message.all-shops-removed=&6Alle (&c%AMOUNT%&6) Shops von &c%VENDOR%&6 wurden entfernt. -message.chest-no-shop=&cTruhe ist kein Shop. -message.shop-create-not-enough-money=&cNicht genug Geld. Du brauchst &6%CREATION-PRICE% &cum einen Shop zu erstellen. -message.shopInfo.vendor=&6Verkäufer: &e%VENDOR% -message.shopInfo.product=&6Produkt: &e%AMOUNT% x %ITEMNAME% -message.shopInfo.stock=&6Auf Lager: &e%STOCK% -message.shopInfo.chest-space=&6Platz in Truhe: &e%CHEST-SPACE% -message.shopInfo.price=&6Preis: Kauf: &e%BUY-PRICE%&6 Verkauf: &e%SELL-PRICE% -message.shopInfo.disabled=&7Deaktiviert -message.shopInfo.is-normal=&6Typ: &eNormal -message.shopInfo.is-admin=&6Typ: &eAdmin -message.buy-and-sell-disabled=&cDu kannst keinen Shop ohne Kauf- und Verkaufspreis erstellen. -message.buy-success=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE%&a von &6%VENDOR% &agekauft. -message.buy-success-admin=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE% &agekauft. -message.sell-success=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE%&a an &6%VENDOR% &averkauft. -message.sell-success-admin=&aDu hast &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE% &averkauft. -message.someone-bought=&6%PLAYER% &ahat &6%AMOUNT% x %ITEMNAME%&a für &6%BUY-PRICE%&a von deinem Shop gekauft. -message.someone-sold=&6%PLAYER% &ahat &6%AMOUNT% x %ITEMNAME%&a für &6%SELL-PRICE%&a an deinen Shop verkauft. -message.revenue-while-offline=&6Während du offline warst, haben deine Shops einen Umsatz von &c%REVENUE%&6 gemacht. -message.not-enough-inventory-space=&cNicht genug Platz im Inventar. -message.chest-not-enough-inventory-space=&cShop ist voll. -message.not-enough-money=&cNicht genug Geld. -message.not-enough-items=&cNicht genug Items. -message.vendor-not-enough-money=&cVerkäufer hat nicht genug Geld. -message.out-of-stock=&cShop ausverkauft. -message.vendor-out-of-stock=&cDein Shop, der &6%AMOUNT% x %ITEMNAME% &cverkauft, ist ausverkauft. -message.error-occurred=&cEin Fehler ist aufgetreten: %ERROR% -message.amount-and-price-not-number=&cAnzahl und Preise müssen Zahlen sein. -message.amount-is-zero=&cAnzahl muss größer als 0 sein. -message.prices-contain-decimals=&cPreise dürfen keine Dezimalen enthalten. -message.no-item-in-hand=&cKein Item in der Hand. -message.click-chest-to-create-shop=&aKlicke innerhalb von 15 Sekunden auf eine Truhe, um einen Shop zu erstellen. -message.click-chest-to-remove-shop=&aKlicke innerhalb von 15 Sekunden auf einen Shop, um ihn zu entfernen. -message.click-chest-for-info=&aKlicke innerhalb von 15 Sekunden auf einen Shop, um Informationen über ihn zu bekommen. -message.click-chest-to-open-shop=&Klicke innerhalb von 15 Sekunden auf einen Shop, um ihn zu öffnen. -message.click-to-confirm=&aKlicke noch einmal zum Bestätigen. -message.opened-shop=&aDu hast &6%VENDOR%&as Shop geöffnet. -message.cannot-break-shop=&cDu kannst einen Shop nicht zerstören. -message.cannot-sell-broken-item=&cDu kannst kein kaputtes Artikel verkaufen. -message.buy-price-too-low=&cDer Kaufpreis muss höher sein als %MIN-PRICE%. -message.sell-price-too-low=&cDer Verkaufspreis muss höher sein als %MIN-PRICE%. -message.buy-price-too-high=&cDer Kaufpreis muss geringer sein als %MAX-PRICE%. -message.sell-price-too-high=&cDer Verkaufspreis muss geringer sein als %MAX-PRICE%. -message.buying-disabled=&cKaufen ist an diesem Shop nicht möglich. -message.selling-disabled=&cVerkaufen ist an diesem Shop nicht möglich. -message.reloaded-shops=&a%AMOUNT% Shop/s wurden erfolgreich neu geladen. -message.shop-limit-reached=&cDu hast dein Limit von &6%LIMIT% &cShop/s erreicht. -message.occupied-shop-slots=&6Du hast &c%AMOUNT%/%LIMIT% &6Shop Slot/s benutzt. -message.cannot-sell-item=&cDu kannst für diesen Artikel keinen Shop erstellen. -message.use-in-creative=&cDu kannst im Kreativ-Modus keine Shops benutzen. -message.select-item=&aÖffne dein Inventar und lass ein Item fallen, um es auszuwählen. -message.item-selected=&aItem wurde ausgewählt: &6%ITEMNAME% -message.creation-cancelled=&cShoperstellung wurde abgebrochen. -message.update.update-available=&6&lVersion &c&l%VERSION% &6&lvon &c&lShopChest &6&list verfügbar. -message.update.click-to-download=Klicke hier zum Herunterladen -message.update.no-update=&6&lKeine neue Aktualisierung verfügbar. -message.update.checking=&6&lSuche nach Aktualisierungen... -message.update.error=&c&lFehler beim Suchen nach Aktualisierungen. -message.noPermission.create=&cDu hast keine Berechtigung einen Shop zu erstellen. -message.noPermission.create-admin=&cDu hast keine Berechtigung einen Admin-Shop zu erstellen. -message.noPermission.create-protected=&cDu hast keine Berechtigung hier einen Shop zu erstellen. -message.noPermission.open-others=&cDu hast keine Berechtigung diesen Shop zu öffnen. -message.noPermission.buy=&cDu hast keine Berechtigung etwas zu kaufen. -message.noPermission.sell=&cDu hast keine Berechtigung etwas zu verkaufen. -message.noPermission.buy-here=&cDu hast keine Berechtigung hier etwas zu kaufen. -message.noPermission.sell-here=&cDu hast keine Berechtigung hier etwas zu verkaufen. -message.noPermission.remove-others=&cDu hast keine Berechtigung diesen Shop zu entfernen. -message.noPermission.remove-admin=&cDu hast keine Berechtigung einen Admin Shop zu entfernen. -message.noPermission.reload=&cDu hast keine Berechtigung die Shops neu zu laden. -message.noPermission.update=&cDu hast keine Berechtigung nach Aktualisierungen zu suchen. -message.noPermission.config=&cDu hast keine Berechtigung Konfigurationswerte zu verändern. -message.noPermission.extend-others=&cDu hast keine Berechtigung diesen Shop zu erweitern. -message.noPermission.extend-protected=&cDu hast keine Berechtigung diesen Shop nach hier zu erweitern. -message.commandDescription.header=&6==== &c/%COMMAND% &6Hilfe -message.commandDescription.footer=&6==== Ende -message.commandDescription.create=&a/%COMMAND% create - Erstelle einen Shop. -message.commandDescription.create-admin=&a/%COMMAND% create [normal|admin] - Erstelle einen Shop. -message.commandDescription.remove=&a/%COMMAND% remove - Entferne einen Shop. -message.commandDescription.info=&a/%COMMAND% info - Rufe Informationen über den Shop ab. -message.commandDescription.removeall=&a/%COMMAND% removeall - Entferne alle Shops eines Spielers. -message.commandDescription.reload=&a/%COMMAND% reload - Lade die Shops neu. -message.commandDescription.update=&a/%COMMAND% update - Suche nach Aktualisierungen. -message.commandDescription.limits=&a/%COMMAND% limits - Betrachte die Shop Limits. -message.commandDescription.open=&a/%COMMAND% open - Öffne einen Shop. -message.commandDescription.config=&a/%COMMAND% config - Verändere Konfigurationswerte. -message.config.set=&6Eigenschaft &a%PROPERTY% &6wurde auf &a%VALUE% &6gesetzt. -message.config.added=&6Wert &a%VALUE% &6wurde zu &a%PROPERTY% &6hinzugefügt. -message.config.removed=&6Wert &a%VALUE% &6wurde aus &a%PROPERTY% &6entfernt. - -block.minecraft.acacia_button=Akazienholzknopf -block.minecraft.acacia_door=Akazienholztür -block.minecraft.acacia_fence=Akazienholzzaun -block.minecraft.acacia_fence_gate=Akazienholzzauntor -block.minecraft.acacia_leaves=Akazienlaub -block.minecraft.acacia_log=Akazienstamm -block.minecraft.acacia_planks=Akazienholzbretter -block.minecraft.acacia_pressure_plate=Akazienholzdruckplatte -block.minecraft.acacia_sapling=Akaziensetzling -block.minecraft.acacia_sign=Akazienholzschild -block.minecraft.acacia_slab=Akazienholzstufe -block.minecraft.acacia_stairs=Akazienholztreppe -block.minecraft.acacia_trapdoor=Akazienholzfalltür -block.minecraft.acacia_wall_sign=Akazienholzwandschild -block.minecraft.acacia_wood=Akazienholz -block.minecraft.activator_rail=Aktivierungsschiene -block.minecraft.air=Luft -block.minecraft.allium=Sternlauch -block.minecraft.andesite=Andesit -block.minecraft.andesite_slab=Andesitstufe -block.minecraft.andesite_stairs=Andesittreppe -block.minecraft.andesite_wall=Andesitmauer -block.minecraft.anvil=Amboss -block.minecraft.attached_melon_stem=Melonenranke -block.minecraft.attached_pumpkin_stem=Kürbisranke -block.minecraft.azure_bluet=Porzellansternchen -block.minecraft.bamboo=Bambus -block.minecraft.bamboo_sapling=Bambussteckling -block.minecraft.barrel=Fass -block.minecraft.barrier=Barriere -block.minecraft.beacon=Leuchtfeuer -block.minecraft.bedrock=Grundgestein -block.minecraft.beetroots=Rote Bete -block.minecraft.bell=Glocke -block.minecraft.birch_button=Birkenholzknopf -block.minecraft.birch_door=Birkenholztür -block.minecraft.birch_fence=Birkenholzzaun -block.minecraft.birch_fence_gate=Birkenholzzauntor -block.minecraft.birch_leaves=Birkenlaub -block.minecraft.birch_log=Birkenstamm -block.minecraft.birch_planks=Birkenholzbretter -block.minecraft.birch_pressure_plate=Birkenholzdruckplatte -block.minecraft.birch_sapling=Birkensetzling -block.minecraft.birch_sign=Birkenholzschild -block.minecraft.birch_slab=Birkenholzstufe -block.minecraft.birch_stairs=Birkenholztreppe -block.minecraft.birch_trapdoor=Birkenholzfalltür -block.minecraft.birch_wall_sign=Birkenholzwandschild -block.minecraft.birch_wood=Birkenholz -block.minecraft.black_bed=Schwarzes Bett -block.minecraft.black_carpet=Schwarzer Teppich -block.minecraft.black_concrete=Schwarzer Beton -block.minecraft.black_concrete_powder=Schwarzer Trockenbeton -block.minecraft.black_glazed_terracotta=Schwarze glasierte Keramik -block.minecraft.black_shulker_box=Schwarze Shulkerkiste -block.minecraft.black_stained_glass=Schwarzes Glas -block.minecraft.black_stained_glass_pane=Schwarze Glasscheibe -block.minecraft.black_terracotta=Schwarze Keramik -block.minecraft.black_wool=Schwarze Wolle -block.minecraft.blast_furnace=Schmelzofen -block.minecraft.blue_bed=Blaues Bett -block.minecraft.blue_carpet=Blauer Teppich -block.minecraft.blue_concrete=Blauer Beton -block.minecraft.blue_concrete_powder=Blauer Trockenbeton -block.minecraft.blue_glazed_terracotta=Blaue glasierte Keramik -block.minecraft.blue_ice=Blaueis -block.minecraft.blue_orchid=Blaue Orchidee -block.minecraft.blue_shulker_box=Blaue Shulkerkiste -block.minecraft.blue_stained_glass=Blaues Glas -block.minecraft.blue_stained_glass_pane=Blaue Glasscheibe -block.minecraft.blue_terracotta=Blaue Keramik -block.minecraft.blue_wool=Blaue Wolle -block.minecraft.bone_block=Knochenblock -block.minecraft.bookshelf=Bücherregal -block.minecraft.brain_coral=Hirnkoralle -block.minecraft.brain_coral_block=Hirnkorallenblock -block.minecraft.brain_coral_fan=Hirnkorallenfächer -block.minecraft.brewing_stand=Braustand -block.minecraft.brick_slab=Ziegelstufe -block.minecraft.brick_stairs=Ziegeltreppe -block.minecraft.brick_wall=Ziegelsteinmauer -block.minecraft.bricks=Ziegelsteine -block.minecraft.brown_bed=Braunes Bett -block.minecraft.brown_carpet=Brauner Teppich -block.minecraft.brown_concrete=Brauner Beton -block.minecraft.brown_concrete_powder=Brauner Trockenbeton -block.minecraft.brown_glazed_terracotta=Braune glasierte Keramik -block.minecraft.brown_mushroom=Brauner Pilz -block.minecraft.brown_mushroom_block=Brauner Pilzblock -block.minecraft.brown_shulker_box=Braune Shulkerkiste -block.minecraft.brown_stained_glass=Braunes Glas -block.minecraft.brown_stained_glass_pane=Braune Glasscheibe -block.minecraft.brown_terracotta=Braune Keramik -block.minecraft.brown_wool=Braune Wolle -block.minecraft.bubble_column=Blasensäule -block.minecraft.bubble_coral=Blasenkoralle -block.minecraft.bubble_coral_block=Blasenkorallenblock -block.minecraft.bubble_coral_fan=Blasenkorallenfächer -block.minecraft.cactus=Kaktus -block.minecraft.cake=Kuchen -block.minecraft.campfire=Lagerfeuer -block.minecraft.carrots=Karotten -block.minecraft.cartography_table=Kartentisch -block.minecraft.carved_pumpkin=Geschnitzter Kürbis -block.minecraft.cauldron=Kessel -block.minecraft.cave_air=Höhlenluft -block.minecraft.chain_command_block=Ketten-Befehlsblock -block.minecraft.chest=Truhe -block.minecraft.chipped_anvil=Angeschlagener Amboss -block.minecraft.chiseled_quartz_block=Gemeißelter Quarzblock -block.minecraft.chiseled_red_sandstone=Gemeißelter roter Sandstein -block.minecraft.chiseled_sandstone=Gemeißelter Sandstein -block.minecraft.chiseled_stone_bricks=Gemeißelte Steinziegel -block.minecraft.chorus_flower=Chorusblüte -block.minecraft.chorus_plant=Choruspflanze -block.minecraft.clay=Ton -block.minecraft.coal_block=Kohleblock -block.minecraft.coal_ore=Steinkohle -block.minecraft.coarse_dirt=Grobe Erde -block.minecraft.cobblestone=Bruchstein -block.minecraft.cobblestone_slab=Bruchsteinstufe -block.minecraft.cobblestone_stairs=Bruchsteintreppe -block.minecraft.cobblestone_wall=Bruchsteinmauer -block.minecraft.cobweb=Spinnennetz -block.minecraft.cocoa=Kakao -block.minecraft.command_block=Befehlsblock -block.minecraft.comparator=Redstone-Komparator -block.minecraft.composter=Komposter -block.minecraft.conduit=Aquisator -block.minecraft.cornflower=Kornblume -block.minecraft.cracked_stone_bricks=Rissige Steinziegel -block.minecraft.crafting_table=Werkbank -block.minecraft.creeper_head=Creeperkopf -block.minecraft.creeper_wall_head=Creeper-Wandkopf -block.minecraft.cut_red_sandstone=Geschnittener roter Sandstein -block.minecraft.cut_red_sandstone_slab=Geschnittene rote Sandsteinstufe -block.minecraft.cut_sandstone=Geschnittener Sandstein -block.minecraft.cut_sandstone_slab=Geschnittene Sandsteinstufe -block.minecraft.cyan_bed=Türkises Bett -block.minecraft.cyan_carpet=Türkiser Teppich -block.minecraft.cyan_concrete=Türkiser Beton -block.minecraft.cyan_concrete_powder=Türkiser Trockenbeton -block.minecraft.cyan_glazed_terracotta=Türkise glasierte Keramik -block.minecraft.cyan_shulker_box=Türkise Shulkerkiste -block.minecraft.cyan_stained_glass=Türkises Glas -block.minecraft.cyan_stained_glass_pane=Türkise Glasscheibe -block.minecraft.cyan_terracotta=Türkise Keramik -block.minecraft.cyan_wool=Türkise Wolle -block.minecraft.damaged_anvil=Beschädigter Amboss -block.minecraft.dandelion=Löwenzahn -block.minecraft.dark_oak_button=Schwarzeichenholzknopf -block.minecraft.dark_oak_door=Schwarzeichenholztür -block.minecraft.dark_oak_fence=Schwarzeichenholzzaun -block.minecraft.dark_oak_fence_gate=Schwarzeichenholzzauntor -block.minecraft.dark_oak_leaves=Schwarzeichenlaub -block.minecraft.dark_oak_log=Schwarzeichenstamm -block.minecraft.dark_oak_planks=Schwarzeichenholzbretter -block.minecraft.dark_oak_pressure_plate=Schwarzeichenholzdruckplatte -block.minecraft.dark_oak_sapling=Schwarzeichensetzling -block.minecraft.dark_oak_sign=Schwarzeichenholzschild -block.minecraft.dark_oak_slab=Schwarzeichenholzstufe -block.minecraft.dark_oak_stairs=Schwarzeichenholztreppe -block.minecraft.dark_oak_trapdoor=Schwarzeichenholzfalltür -block.minecraft.dark_oak_wall_sign=Schwarzeichenholzwandschild -block.minecraft.dark_oak_wood=Schwarzeichenholz -block.minecraft.dark_prismarine=Dunkler Prismarin -block.minecraft.dark_prismarine_slab=Dunkle Prismarinstufe -block.minecraft.dark_prismarine_stairs=Dunkle Prismarintreppe -block.minecraft.daylight_detector=Tageslichtsensor -block.minecraft.dead_brain_coral=Abgestorbene Hirnkoralle -block.minecraft.dead_brain_coral_block=Abgestorbener Hirnkorallenblock -block.minecraft.dead_bubble_coral=Abgestorbene Blasenkoralle -block.minecraft.dead_bubble_coral_block=Abgestorbener Blasenkorallenblock -block.minecraft.dead_bush=Toter Busch -block.minecraft.dead_fire_coral=Abgestorbene Feuerkoralle -block.minecraft.dead_fire_coral_block=Abgestorbener Feuerkorallenblock -block.minecraft.dead_horn_coral=Abgestorbene Geweihkoralle -block.minecraft.dead_horn_coral_block=Abgestorbener Geweihkorallenblock -block.minecraft.dead_tube_coral=Abgestorbene Orgelkoralle -block.minecraft.dead_tube_coral_block=Abgestorbener Orgelkorallenblock -block.minecraft.detector_rail=Sensorschiene -block.minecraft.diamond_block=Diamantblock -block.minecraft.diamond_ore=Diamanterz -block.minecraft.diorite=Diorit -block.minecraft.diorite_slab=Dioritstufe -block.minecraft.diorite_stairs=Diorittreppe -block.minecraft.diorite_wall=Dioritmauer -block.minecraft.dirt=Erde -block.minecraft.dispenser=Werfer -block.minecraft.dragon_egg=Drachenei -block.minecraft.dragon_head=Drachenkopf -block.minecraft.dragon_wall_head=Drachen-Wandkopf -block.minecraft.dried_kelp_block=Getrockneter Seetangblock -block.minecraft.dropper=Spender -block.minecraft.emerald_block=Smaragdblock -block.minecraft.emerald_ore=Smaragderz -block.minecraft.enchanting_table=Zaubertisch -block.minecraft.end_gateway=Endtransitportal -block.minecraft.end_portal=Endportal -block.minecraft.end_portal_frame=Endportalrahmen -block.minecraft.end_rod=Endstab -block.minecraft.end_stone=Endstein -block.minecraft.end_stone_brick_slab=Endsteinziegelstufe -block.minecraft.end_stone_brick_stairs=Endsteinziegeltreppe -block.minecraft.end_stone_brick_wall=Endsteinziegelmauer -block.minecraft.end_stone_bricks=Endsteinziegel -block.minecraft.ender_chest=Endertruhe -block.minecraft.farmland=Ackerboden -block.minecraft.fern=Farn -block.minecraft.fire=Feuer -block.minecraft.fire_coral=Feuerkoralle -block.minecraft.fire_coral_block=Feuerkorallenblock -block.minecraft.fire_coral_fan=Feuerkorallenfächer -block.minecraft.fletching_table=Bognertisch -block.minecraft.flower_pot=Blumentopf -block.minecraft.frosted_ice=Brüchiges Eis -block.minecraft.furnace=Ofen -block.minecraft.glass=Glas -block.minecraft.glass_pane=Glasscheibe -block.minecraft.glowstone=Glowstone -block.minecraft.gold_block=Goldblock -block.minecraft.gold_ore=Golderz -block.minecraft.granite=Granit -block.minecraft.granite_slab=Granitstufe -block.minecraft.granite_stairs=Granittreppe -block.minecraft.granite_wall=Granitmauer -block.minecraft.grass=Gras -block.minecraft.grass_block=Grasblock -block.minecraft.grass_path=Trampelpfad -block.minecraft.gravel=Kies -block.minecraft.gray_bed=Graues Bett -block.minecraft.gray_carpet=Grauer Teppich -block.minecraft.gray_concrete=Grauer Beton -block.minecraft.gray_concrete_powder=Grauer Trockenbeton -block.minecraft.gray_glazed_terracotta=Graue glasierte Keramik -block.minecraft.gray_shulker_box=Graue Shulkerkiste -block.minecraft.gray_stained_glass=Graues Glas -block.minecraft.gray_stained_glass_pane=Graue Glasscheibe -block.minecraft.gray_terracotta=Graue Keramik -block.minecraft.gray_wool=Graue Wolle -block.minecraft.green_bed=Grünes Bett -block.minecraft.green_carpet=Grüner Teppich -block.minecraft.green_concrete=Grüner Beton -block.minecraft.green_concrete_powder=Grüner Trockenbeton -block.minecraft.green_glazed_terracotta=Grüne glasierte Keramik -block.minecraft.green_shulker_box=Grüne Shulkerkiste -block.minecraft.green_stained_glass=Grünes Glas -block.minecraft.green_stained_glass_pane=Grüne Glasscheibe -block.minecraft.green_terracotta=Grüne Keramik -block.minecraft.green_wool=Grüne Wolle -block.minecraft.grindstone=Schleifstein -block.minecraft.hay_block=Strohballen -block.minecraft.heavy_weighted_pressure_plate=Grobwägeplatte -block.minecraft.hopper=Trichter -block.minecraft.horn_coral=Geweihkoralle -block.minecraft.horn_coral_block=Geweihkorallenblock -block.minecraft.horn_coral_fan=Geweihkorallenfächer -block.minecraft.ice=Eis -block.minecraft.infested_chiseled_stone_bricks=Befallene gemeißelte Steinziegel -block.minecraft.infested_cobblestone=Befallener Bruchstein -block.minecraft.infested_cracked_stone_bricks=Befallene rissige Steinziegel -block.minecraft.infested_mossy_stone_bricks=Befallene bemooste Steinziegel -block.minecraft.infested_stone=Befallener Stein -block.minecraft.infested_stone_bricks=Befallene Steinziegel -block.minecraft.iron_bars=Eisengitter -block.minecraft.iron_block=Eisenblock -block.minecraft.iron_door=Eisentür -block.minecraft.iron_ore=Eisenerz -block.minecraft.iron_trapdoor=Eisenfalltür -block.minecraft.jack_o_lantern=Kürbislaterne -block.minecraft.jigsaw=Verbundblock -block.minecraft.jukebox=Plattenspieler -block.minecraft.jungle_button=Tropenholzknopf -block.minecraft.jungle_door=Tropenholztür -block.minecraft.jungle_fence=Tropenholzzaun -block.minecraft.jungle_fence_gate=Tropenholzzauntor -block.minecraft.jungle_leaves=Tropenbaumlaub -block.minecraft.jungle_log=Tropenbaumstamm -block.minecraft.jungle_planks=Tropenholzbretter -block.minecraft.jungle_pressure_plate=Tropenholzdruckplatte -block.minecraft.jungle_sapling=Tropenbaumsetzling -block.minecraft.jungle_sign=Tropenholzschild -block.minecraft.jungle_slab=Tropenholzstufe -block.minecraft.jungle_stairs=Tropenholztreppe -block.minecraft.jungle_trapdoor=Tropenholzfalltür -block.minecraft.jungle_wall_sign=Tropenholzwandschild -block.minecraft.jungle_wood=Tropenholz -block.minecraft.kelp=Seetang -block.minecraft.kelp_plant=Seetangstängel -block.minecraft.ladder=Leiter -block.minecraft.lantern=Laterne -block.minecraft.lapis_block=Lapislazuliblock -block.minecraft.lapis_ore=Lapislazulierz -block.minecraft.large_fern=Großer Farn -block.minecraft.lava=Lava -block.minecraft.lectern=Lesepult -block.minecraft.lever=Hebel -block.minecraft.light_blue_bed=Hellblaues Bett -block.minecraft.light_blue_carpet=Hellblauer Teppich -block.minecraft.light_blue_concrete=Hellblauer Beton -block.minecraft.light_blue_concrete_powder=Hellblauer Trockenbeton -block.minecraft.light_blue_glazed_terracotta=Hellblaue glasierte Keramik -block.minecraft.light_blue_shulker_box=Hellblaue Shulkerkiste -block.minecraft.light_blue_stained_glass=Hellblaues Glas -block.minecraft.light_blue_stained_glass_pane=Hellblaue Glasscheibe -block.minecraft.light_blue_terracotta=Hellblaue Keramik -block.minecraft.light_blue_wool=Hellblaue Wolle -block.minecraft.light_gray_bed=Hellgraues Bett -block.minecraft.light_gray_carpet=Hellgrauer Teppich -block.minecraft.light_gray_concrete=Hellgrauer Beton -block.minecraft.light_gray_concrete_powder=Hellgrauer Trockenbeton -block.minecraft.light_gray_glazed_terracotta=Hellgraue glasierte Keramik -block.minecraft.light_gray_shulker_box=Hellgraue Shulkerkiste -block.minecraft.light_gray_stained_glass=Hellgraues Glas -block.minecraft.light_gray_stained_glass_pane=Hellgraue Glasscheibe -block.minecraft.light_gray_terracotta=Hellgraue Keramik -block.minecraft.light_gray_wool=Hellgraue Wolle -block.minecraft.light_weighted_pressure_plate=Feinwägeplatte -block.minecraft.lilac=Flieder -block.minecraft.lily_of_the_valley=Maiglöckchen -block.minecraft.lily_pad=Seerosenblatt -block.minecraft.lime_bed=Hellgrünes Bett -block.minecraft.lime_carpet=Hellgrüner Teppich -block.minecraft.lime_concrete=Hellgrüner Beton -block.minecraft.lime_concrete_powder=Hellgrüner Trockenbeton -block.minecraft.lime_glazed_terracotta=Hellgrüne glasierte Keramik -block.minecraft.lime_shulker_box=Hellgrüne Shulkerkiste -block.minecraft.lime_stained_glass=Hellgrünes Glas -block.minecraft.lime_stained_glass_pane=Hellgrüne Glasscheibe -block.minecraft.lime_terracotta=Hellgrüne Keramik -block.minecraft.lime_wool=Hellgrüne Wolle -block.minecraft.loom=Webstuhl -block.minecraft.magenta_bed=Magenta Bett -block.minecraft.magenta_carpet=Magenta Teppich -block.minecraft.magenta_concrete=Magenta Beton -block.minecraft.magenta_concrete_powder=Magenta Trockenbeton -block.minecraft.magenta_glazed_terracotta=Magenta glasierte Keramik -block.minecraft.magenta_shulker_box=Magenta Shulkerkiste -block.minecraft.magenta_stained_glass=Magenta Glas -block.minecraft.magenta_stained_glass_pane=Magenta Glasscheibe -block.minecraft.magenta_terracotta=Magenta Keramik -block.minecraft.magenta_wool=Magenta Wolle -block.minecraft.magma_block=Magmablock -block.minecraft.melon=Melone -block.minecraft.melon_stem=Melonenpflanze -block.minecraft.mossy_cobblestone=Bemooster Bruchstein -block.minecraft.mossy_cobblestone_slab=Bemooste Bruchsteinstufe -block.minecraft.mossy_cobblestone_stairs=Bemooste Bruchsteintreppe -block.minecraft.mossy_cobblestone_wall=Bemooste Bruchsteinmauer -block.minecraft.mossy_stone_brick_slab=Bemooste Steinziegelstufe -block.minecraft.mossy_stone_brick_stairs=Bemooste Steinziegeltreppe -block.minecraft.mossy_stone_brick_wall=Bemooste Steinziegelmauer -block.minecraft.mossy_stone_bricks=Bemooste Steinziegel -block.minecraft.moving_piston=Bewegter Block -block.minecraft.mushroom_stem=Pilzstiel -block.minecraft.mycelium=Myzel -block.minecraft.nether_brick_fence=Netherziegelzaun -block.minecraft.nether_brick_slab=Netherziegelstufe -block.minecraft.nether_brick_stairs=Netherziegeltreppe -block.minecraft.nether_brick_wall=Netherziegelmauer -block.minecraft.nether_bricks=Netherziegel -block.minecraft.nether_portal=Netherportal -block.minecraft.nether_quartz_ore=Netherquarzerz -block.minecraft.nether_wart=Netherwarzen -block.minecraft.nether_wart_block=Netherwarzenblock -block.minecraft.netherrack=Netherrack -block.minecraft.note_block=Notenblock -block.minecraft.oak_button=Eichenholzknopf -block.minecraft.oak_door=Eichenholztür -block.minecraft.oak_fence=Eichenholzzaun -block.minecraft.oak_fence_gate=Eichenholzzauntor -block.minecraft.oak_leaves=Eichenlaub -block.minecraft.oak_log=Eichenstamm -block.minecraft.oak_planks=Eichenholzbretter -block.minecraft.oak_pressure_plate=Eichenholzdruckplatte -block.minecraft.oak_sapling=Eichensetzling -block.minecraft.oak_sign=Eichenholzschild -block.minecraft.oak_slab=Eichenholzstufe -block.minecraft.oak_stairs=Eichenholztreppe -block.minecraft.oak_trapdoor=Eichenholzfalltür -block.minecraft.oak_wall_sign=Eichenholzwandschild -block.minecraft.oak_wood=Eichenholz -block.minecraft.observer=Beobachter -block.minecraft.obsidian=Obsidian -block.minecraft.orange_bed=Oranges Bett -block.minecraft.orange_carpet=Oranger Teppich -block.minecraft.orange_concrete=Oranger Beton -block.minecraft.orange_concrete_powder=Oranger Trockenbeton -block.minecraft.orange_glazed_terracotta=Orange glasierte Keramik -block.minecraft.orange_shulker_box=Orange Shulkerkiste -block.minecraft.orange_stained_glass=Oranges Glas -block.minecraft.orange_stained_glass_pane=Orange Glasscheibe -block.minecraft.orange_terracotta=Orange Keramik -block.minecraft.orange_tulip=Orange Tulpe -block.minecraft.orange_wool=Orange Wolle -block.minecraft.oxeye_daisy=Margerite -block.minecraft.packed_ice=Packeis -block.minecraft.peony=Pfingstrose -block.minecraft.petrified_oak_slab=Versteinerte Eichenholzstufe -block.minecraft.pink_bed=Rosa Bett -block.minecraft.pink_carpet=Rosa Teppich -block.minecraft.pink_concrete=Rosa Beton -block.minecraft.pink_concrete_powder=Rosa Trockenbeton -block.minecraft.pink_glazed_terracotta=Rosa glasierte Keramik -block.minecraft.pink_shulker_box=Rosa Shulkerkiste -block.minecraft.pink_stained_glass=Rosa Glas -block.minecraft.pink_stained_glass_pane=Rosa Glasscheibe -block.minecraft.pink_terracotta=Rosa Keramik -block.minecraft.pink_tulip=Rosa Tulpe -block.minecraft.pink_wool=Rosa Wolle -block.minecraft.piston=Kolben -block.minecraft.piston_head=Kolbenkopf -block.minecraft.player_head=Spielerkopf -block.minecraft.player_wall_head=Spieler-Wandkopf -block.minecraft.podzol=Podsol -block.minecraft.polished_andesite=Polierter Andesit -block.minecraft.polished_andesite_slab=Polierte Andesitstufe -block.minecraft.polished_andesite_stairs=Polierte Andesittreppe -block.minecraft.polished_diorite=Polierter Diorit -block.minecraft.polished_diorite_slab=Polierte Dioritstufe -block.minecraft.polished_diorite_stairs=Polierte Diorittreppe -block.minecraft.polished_granite=Polierter Granit -block.minecraft.polished_granite_slab=Polierte Granitstufe -block.minecraft.polished_granite_stairs=Polierte Granittreppe -block.minecraft.poppy=Mohn -block.minecraft.potatoes=Kartoffeln -block.minecraft.potted_acacia_sapling=Eingetopfter Akaziensetzling -block.minecraft.potted_allium=Eingetopfter Sternlauch -block.minecraft.potted_azure_bluet=Eingetopftes Porzellansternchen -block.minecraft.potted_bamboo=Eingetopfter Bambus -block.minecraft.potted_birch_sapling=Eingetopfter Birkensetzling -block.minecraft.potted_blue_orchid=Eingetopfte blaue Orchidee -block.minecraft.potted_brown_mushroom=Eingetopfter brauner Pilz -block.minecraft.potted_cactus=Eingetopfter Kaktus -block.minecraft.potted_cornflower=Eingetopfte Kornblume -block.minecraft.potted_dandelion=Eingetopfter Löwenzahn -block.minecraft.potted_dark_oak_sapling=Eingetopfter Schwarzeichensetzling -block.minecraft.potted_dead_bush=Eingetopfter toter Busch -block.minecraft.potted_fern=Eingetopfter Farn -block.minecraft.potted_jungle_sapling=Eingetopfter Tropenbaumsetzling -block.minecraft.potted_lily_of_the_valley=Eingetopftes Maiglöckchen -block.minecraft.potted_oak_sapling=Eingetopfter Eichensetzling -block.minecraft.potted_orange_tulip=Eingetopfte orange Tulpe -block.minecraft.potted_oxeye_daisy=Eingetopfte Margerite -block.minecraft.potted_pink_tulip=Eingetopfte rosa Tulpe -block.minecraft.potted_poppy=Eingetopfter Mohn -block.minecraft.potted_red_mushroom=Eingetopfter roter Pilz -block.minecraft.potted_red_tulip=Eingetopfte rote Tulpe -block.minecraft.potted_spruce_sapling=Eingetopfter Fichtensetzling -block.minecraft.potted_white_tulip=Eingetopfte weiße Tulpe -block.minecraft.potted_wither_rose=Eingetopfte Witherrose -block.minecraft.powered_rail=Antriebsschiene -block.minecraft.prismarine=Prismarin -block.minecraft.prismarine_brick_slab=Prismarinziegelstufe -block.minecraft.prismarine_brick_stairs=Prismarinziegeltreppe -block.minecraft.prismarine_bricks=Prismarinziegel -block.minecraft.prismarine_slab=Prismarinstufe -block.minecraft.prismarine_stairs=Prismarintreppe -block.minecraft.prismarine_wall=Prismarinmauer -block.minecraft.pumpkin=Kürbis -block.minecraft.pumpkin_stem=Kürbispflanze -block.minecraft.purple_bed=Violettes Bett -block.minecraft.purple_carpet=Violetter Teppich -block.minecraft.purple_concrete=Violetter Beton -block.minecraft.purple_concrete_powder=Violetter Trockenbeton -block.minecraft.purple_glazed_terracotta=Violette glasierte Keramik -block.minecraft.purple_shulker_box=Violette Shulkerkiste -block.minecraft.purple_stained_glass=Violettes Glas -block.minecraft.purple_stained_glass_pane=Violette Glasscheibe -block.minecraft.purple_terracotta=Violette Keramik -block.minecraft.purple_wool=Violette Wolle -block.minecraft.purpur_block=Purpurblock -block.minecraft.purpur_pillar=Purpursäule -block.minecraft.purpur_slab=Purpurstufe -block.minecraft.purpur_stairs=Purpurtreppe -block.minecraft.quartz_block=Quarzblock -block.minecraft.quartz_pillar=Quarzsäule -block.minecraft.quartz_slab=Quarzstufe -block.minecraft.quartz_stairs=Quarztreppe -block.minecraft.rail=Schiene -block.minecraft.red_bed=Rotes Bett -block.minecraft.red_carpet=Roter Teppich -block.minecraft.red_concrete=Roter Beton -block.minecraft.red_concrete_powder=Roter Trockenbeton -block.minecraft.red_glazed_terracotta=Rote glasierte Keramik -block.minecraft.red_mushroom=Roter Pilz -block.minecraft.red_mushroom_block=Roter Pilzblock -block.minecraft.red_nether_brick_slab=Rote Netherziegelstufe -block.minecraft.red_nether_brick_stairs=Rote Netherziegeltreppe -block.minecraft.red_nether_brick_wall=Rote Netherziegelmauer -block.minecraft.red_nether_bricks=Rote Netherziegel -block.minecraft.red_sand=Roter Sand -block.minecraft.red_sandstone=Roter Sandstein -block.minecraft.red_sandstone_slab=Rote Sandsteinstufe -block.minecraft.red_sandstone_stairs=Rote Sandsteintreppe -block.minecraft.red_sandstone_wall=Rote Sandsteinmauer -block.minecraft.red_shulker_box=Rote Shulkerkiste -block.minecraft.red_stained_glass=Rotes Glas -block.minecraft.red_stained_glass_pane=Rote Glasscheibe -block.minecraft.red_terracotta=Rote Keramik -block.minecraft.red_tulip=Rote Tulpe -block.minecraft.red_wool=Rote Wolle -block.minecraft.redstone_block=Redstone-Block -block.minecraft.redstone_lamp=Redstone-Lampe -block.minecraft.redstone_ore=Redstone-Erz -block.minecraft.redstone_torch=Redstone-Fackel -block.minecraft.redstone_wall_torch=Redstone-Wandfackel -block.minecraft.redstone_wire=Redstone-Leitung -block.minecraft.repeater=Redstone-Verstärker -block.minecraft.repeating_command_block=Wiederhol-Befehlsblock -block.minecraft.rose_bush=Rosenstrauch -block.minecraft.sand=Sand -block.minecraft.sandstone=Sandstein -block.minecraft.sandstone_slab=Sandsteinstufe -block.minecraft.sandstone_stairs=Sandsteintreppe -block.minecraft.sandstone_wall=Sandsteinmauer -block.minecraft.scaffolding=Gerüst -block.minecraft.sea_lantern=Seelaterne -block.minecraft.sea_pickle=Meeresgurke -block.minecraft.seagrass=Seegras -block.minecraft.shulker_box=Shulkerkiste -block.minecraft.skeleton_skull=Skelettschädel -block.minecraft.skeleton_wall_skull=Skelett-Wandschädel -block.minecraft.slime_block=Schleimblock -block.minecraft.smithing_table=Schmiedetisch -block.minecraft.smoker=Räucherofen -block.minecraft.smooth_quartz=Glatter Quarzblock -block.minecraft.smooth_quartz_slab=Glatte Quarzstufe -block.minecraft.smooth_quartz_stairs=Glatte Quarztreppe -block.minecraft.smooth_red_sandstone=Glatter roter Sandstein -block.minecraft.smooth_red_sandstone_slab=Glatte rote Sandsteinstufe -block.minecraft.smooth_red_sandstone_stairs=Glatte rote Sandsteintreppe -block.minecraft.smooth_sandstone=Glatter Sandstein -block.minecraft.smooth_sandstone_slab=Glatte Sandsteinstufe -block.minecraft.smooth_sandstone_stairs=Glatte Sandsteintreppe -block.minecraft.smooth_stone=Glatter Stein -block.minecraft.smooth_stone_slab=Glatte Steinstufe -block.minecraft.snow=Schnee -block.minecraft.snow_block=Schneeblock -block.minecraft.soul_sand=Seelensand -block.minecraft.spawner=Spawner -block.minecraft.sponge=Schwamm -block.minecraft.spruce_button=Fichtenholzknopf -block.minecraft.spruce_door=Fichtenholztür -block.minecraft.spruce_fence=Fichtenholzzaun -block.minecraft.spruce_fence_gate=Fichtenholzzauntor -block.minecraft.spruce_leaves=Fichtennadeln -block.minecraft.spruce_log=Fichtenstamm -block.minecraft.spruce_planks=Fichtenholzbretter -block.minecraft.spruce_pressure_plate=Fichtenholzdruckplatte -block.minecraft.spruce_sapling=Fichtensetzling -block.minecraft.spruce_sign=Fichtenholzschild -block.minecraft.spruce_slab=Fichtenholzstufe -block.minecraft.spruce_stairs=Fichtenholztreppe -block.minecraft.spruce_trapdoor=Fichtenholzfalltür -block.minecraft.spruce_wall_sign=Fichtenholzwandschild -block.minecraft.spruce_wood=Fichtenholz -block.minecraft.sticky_piston=Klebriger Kolben -block.minecraft.stone=Stein -block.minecraft.stone_brick_slab=Steinziegelstufe -block.minecraft.stone_brick_stairs=Steinziegeltreppe -block.minecraft.stone_brick_wall=Steinziegelmauer -block.minecraft.stone_bricks=Steinziegel -block.minecraft.stone_button=Steinknopf -block.minecraft.stone_pressure_plate=Steindruckplatte -block.minecraft.stone_slab=Steinstufe -block.minecraft.stonecutter=Steinsäge -block.minecraft.stripped_acacia_log=Entrindeter Akazienstamm -block.minecraft.stripped_acacia_wood=Entrindetes Akazienholz -block.minecraft.stripped_birch_log=Entrindeter Birkenstamm -block.minecraft.stripped_birch_wood=Entrindetes Birkenholz -block.minecraft.stripped_dark_oak_log=Entrindeter Schwarzeichenstamm -block.minecraft.stripped_dark_oak_wood=Entrindetes Schwarzeichenholz -block.minecraft.stripped_jungle_log=Entrindeter Tropenbaumstamm -block.minecraft.stripped_jungle_wood=Entrindetes Tropenholz -block.minecraft.stripped_oak_log=Entrindeter Eichenstamm -block.minecraft.stripped_oak_wood=Entrindetes Eichenholz -block.minecraft.stripped_spruce_log=Entrindeter Fichtenstamm -block.minecraft.stripped_spruce_wood=Entrindetes Fichtenholz -block.minecraft.structure_block=Konstruktionsblock -block.minecraft.structure_void=Konstruktionsleere -block.minecraft.sugar_cane=Zuckerrohr -block.minecraft.sunflower=Sonnenblume -block.minecraft.sweet_berry_bush=Süßbeerenstrauch -block.minecraft.tall_grass=Hohes Gras -block.minecraft.tall_seagrass=Hohes Seegras -block.minecraft.terracotta=Keramik -block.minecraft.tnt=TNT -block.minecraft.torch=Fackel -block.minecraft.trapped_chest=Redstone-Truhe -block.minecraft.tripwire=Stolperdraht -block.minecraft.tripwire_hook=Haken -block.minecraft.tube_coral=Orgelkoralle -block.minecraft.tube_coral_block=Orgelkorallenblock -block.minecraft.tube_coral_fan=Orgelkorallenfächer -block.minecraft.turtle_egg=Schildkrötenei -block.minecraft.vine=Ranken -block.minecraft.void_air=Leerenluft -block.minecraft.wall_sign=Wandschild -block.minecraft.wall_torch=Wandfackel -block.minecraft.water=Wasser -block.minecraft.wet_sponge=Nasser Schwamm -block.minecraft.wheat=Weizenpflanzen -block.minecraft.white_bed=Weißes Bett -block.minecraft.white_carpet=Weißer Teppich -block.minecraft.white_concrete=Weißer Beton -block.minecraft.white_concrete_powder=Weißer Trockenbeton -block.minecraft.white_glazed_terracotta=Weiße glasierte Keramik -block.minecraft.white_shulker_box=Weiße Shulkerkiste -block.minecraft.white_stained_glass=Weißes Glas -block.minecraft.white_stained_glass_pane=Weiße Glasscheibe -block.minecraft.white_terracotta=Weiße Keramik -block.minecraft.white_tulip=Weiße Tulpe -block.minecraft.white_wool=Weiße Wolle -block.minecraft.wither_rose=Witherrose -block.minecraft.wither_skeleton_skull=Witherskelettschädel -block.minecraft.wither_skeleton_wall_skull=Witherskelett-Wandschädel -block.minecraft.yellow_bed=Gelbes Bett -block.minecraft.yellow_carpet=Gelber Teppich -block.minecraft.yellow_concrete=Gelber Beton -block.minecraft.yellow_concrete_powder=Gelber Trockenbeton -block.minecraft.yellow_glazed_terracotta=Gelbe glasierte Keramik -block.minecraft.yellow_shulker_box=Gelbe Shulkerkiste -block.minecraft.yellow_stained_glass=Gelbes Glas -block.minecraft.yellow_stained_glass_pane=Gelbe Glasscheibe -block.minecraft.yellow_terracotta=Gelbe Keramik -block.minecraft.yellow_wool=Gelbe Wolle -block.minecraft.zombie_head=Zombiekopf -block.minecraft.zombie_wall_head=Zombie-Wandkopf -book.generation.0=Original -book.generation.1=Kopie des Originals -book.generation.2=Kopie einer Kopie -book.generation.3=Zerrissen -effect.minecraft.absorption=Absorption -effect.minecraft.bad_omen=Böses Omen -effect.minecraft.blindness=Blindheit -effect.minecraft.conduit_power=Meereskraft -effect.minecraft.dolphins_grace=Gunst des Delfins -effect.minecraft.fire_resistance=Feuerschutz -effect.minecraft.glowing=Leuchten -effect.minecraft.haste=Eile -effect.minecraft.health_boost=Extraenergie -effect.minecraft.hero_of_the_village=Held des Dorfes -effect.minecraft.hunger=Hunger -effect.minecraft.instant_damage=Direktschaden -effect.minecraft.instant_health=Direktheilung -effect.minecraft.invisibility=Unsichtbarkeit -effect.minecraft.jump_boost=Sprungkraft -effect.minecraft.levitation=Schwebekraft -effect.minecraft.luck=Glück -effect.minecraft.mining_fatigue=Abbaulähmung -effect.minecraft.nausea=Übelkeit -effect.minecraft.night_vision=Nachtsicht -effect.minecraft.poison=Vergiftung -effect.minecraft.regeneration=Regeneration -effect.minecraft.resistance=Resistenz -effect.minecraft.saturation=Sättigung -effect.minecraft.slow_falling=Sanfter Fall -effect.minecraft.slowness=Langsamkeit -effect.minecraft.speed=Schnelligkeit -effect.minecraft.strength=Stärke -effect.minecraft.unluck=Pech -effect.minecraft.water_breathing=Unterwasseratem -effect.minecraft.weakness=Schwäche -effect.minecraft.wither=Ausdörrung -enchantment.level.1=I -enchantment.level.10=X -enchantment.level.2=II -enchantment.level.3=III -enchantment.level.4=IV -enchantment.level.5=V -enchantment.level.6=VI -enchantment.level.7=VII -enchantment.level.8=VIII -enchantment.level.9=IX -enchantment.minecraft.aqua_affinity=Wasseraffinität -enchantment.minecraft.bane_of_arthropods=Nemesis der Gliederfüßer -enchantment.minecraft.binding_curse=Fluch der Bindung -enchantment.minecraft.blast_protection=Explosionsschutz -enchantment.minecraft.channeling=Entladung -enchantment.minecraft.depth_strider=Wasserläufer -enchantment.minecraft.efficiency=Effizienz -enchantment.minecraft.feather_falling=Federfall -enchantment.minecraft.fire_aspect=Verbrennung -enchantment.minecraft.fire_protection=Feuerschutz -enchantment.minecraft.flame=Flamme -enchantment.minecraft.fortune=Glück -enchantment.minecraft.frost_walker=Eisläufer -enchantment.minecraft.impaling=Harpune -enchantment.minecraft.infinity=Unendlichkeit -enchantment.minecraft.knockback=Rückstoß -enchantment.minecraft.looting=Plünderung -enchantment.minecraft.loyalty=Treue -enchantment.minecraft.luck_of_the_sea=Glück des Meeres -enchantment.minecraft.lure=Köder -enchantment.minecraft.mending=Reparatur -enchantment.minecraft.multishot=Mehrfachschuss -enchantment.minecraft.piercing=Durchschuss -enchantment.minecraft.power=Stärke -enchantment.minecraft.projectile_protection=Schusssicher -enchantment.minecraft.protection=Schutz -enchantment.minecraft.punch=Schlag -enchantment.minecraft.quick_charge=Schnellladen -enchantment.minecraft.respiration=Atmung -enchantment.minecraft.riptide=Sog -enchantment.minecraft.sharpness=Schärfe -enchantment.minecraft.silk_touch=Behutsamkeit -enchantment.minecraft.smite=Bann -enchantment.minecraft.sweeping=Schwungkraft -enchantment.minecraft.thorns=Dornen -enchantment.minecraft.unbreaking=Haltbarkeit -enchantment.minecraft.vanishing_curse=Fluch des Verschwindens -item.minecraft.acacia_boat=Akazienholzboot -item.minecraft.apple=Apfel -item.minecraft.armor_stand=Rüstungsständer -item.minecraft.arrow=Pfeil -item.minecraft.baked_potato=Ofenkartoffel -item.minecraft.bat_spawn_egg=Fledermaus-Spawn-Ei -item.minecraft.beef=Rohes Rindfleisch -item.minecraft.beetroot=Rote Bete -item.minecraft.beetroot_seeds=Rote-Bete-Samen -item.minecraft.beetroot_soup=Borschtsch -item.minecraft.birch_boat=Birkenholzboot -item.minecraft.black_dye=Schwarzer Farbstoff -item.minecraft.blaze_powder=Lohenstaub -item.minecraft.blaze_rod=Lohenrute -item.minecraft.blaze_spawn_egg=Lohen-Spawn-Ei -item.minecraft.blue_dye=Blauer Farbstoff -item.minecraft.bone=Knochen -item.minecraft.bone_meal=Knochenmehl -item.minecraft.book=Buch -item.minecraft.bow=Bogen -item.minecraft.bowl=Schüssel -item.minecraft.bread=Brot -item.minecraft.brewing_stand=Braustand -item.minecraft.brick=Ziegel -item.minecraft.brown_dye=Brauner Farbstoff -item.minecraft.bucket=Eimer -item.minecraft.cactus_green=Kaktusgrün -item.minecraft.carrot=Karotte -item.minecraft.carrot_on_a_stick=Karottenrute -item.minecraft.cat_spawn_egg=Katzen-Spawn-Ei -item.minecraft.cauldron=Kessel -item.minecraft.cave_spider_spawn_egg=Höhlenspinnen-Spawn-Ei -item.minecraft.chainmail_boots=Kettenstiefel -item.minecraft.chainmail_chestplate=Kettenhemd -item.minecraft.chainmail_helmet=Kettenhaube -item.minecraft.chainmail_leggings=Kettenhose -item.minecraft.charcoal=Holzkohle -item.minecraft.chest_minecart=Güterlore -item.minecraft.chicken=Rohes Hühnchen -item.minecraft.chicken_spawn_egg=Huhn-Spawn-Ei -item.minecraft.chorus_fruit=Chorusfrucht -item.minecraft.clay_ball=Tonklumpen -item.minecraft.clock=Uhr -item.minecraft.coal=Kohle -item.minecraft.cocoa_beans=Kakaobohnen -item.minecraft.cod=Roher Kabeljau -item.minecraft.cod_bucket=Kabeljaueimer -item.minecraft.cod_spawn_egg=Kabeljau-Spawn-Ei -item.minecraft.command_block_minecart=Befehlsblocklore -item.minecraft.compass=Kompass -item.minecraft.cooked_beef=Steak -item.minecraft.cooked_chicken=Gebratenes Hühnchen -item.minecraft.cooked_cod=Gebratener Kabeljau -item.minecraft.cooked_mutton=Gebratenes Hammelfleisch -item.minecraft.cooked_porkchop=Gebratenes Schweinefleisch -item.minecraft.cooked_rabbit=Gebratenes Kaninchen -item.minecraft.cooked_salmon=Gebratener Lachs -item.minecraft.cookie=Keks -item.minecraft.cow_spawn_egg=Kuh-Spawn-Ei -item.minecraft.creeper_banner_pattern=Bannervorlage -item.minecraft.creeper_banner_pattern.desc=Creeper -item.minecraft.creeper_head=Creeperkopf -item.minecraft.creeper_spawn_egg=Creeper-Spawn-Ei -item.minecraft.crossbow=Armbrust -item.minecraft.cyan_dye=Türkiser Farbstoff -item.minecraft.dandelion_yellow=Löwenzahngelb -item.minecraft.dark_oak_boat=Schwarzeichenholzboot -item.minecraft.debug_stick=Debug-Stab -item.minecraft.diamond=Diamant -item.minecraft.diamond_axe=Diamantaxt -item.minecraft.diamond_boots=Diamantstiefel -item.minecraft.diamond_chestplate=Diamantharnisch -item.minecraft.diamond_helmet=Diamanthelm -item.minecraft.diamond_hoe=Diamanthacke -item.minecraft.diamond_horse_armor=Diamantener Rossharnisch -item.minecraft.diamond_leggings=Diamantbeinschutz -item.minecraft.diamond_pickaxe=Diamantspitzhacke -item.minecraft.diamond_shovel=Diamantschaufel -item.minecraft.diamond_sword=Diamantschwert -item.minecraft.dolphin_spawn_egg=Delfin-Spawn-Ei -item.minecraft.donkey_spawn_egg=Esel-Spawn-Ei -item.minecraft.dragon_breath=Drachenatem -item.minecraft.dragon_head=Drachenkopf -item.minecraft.dried_kelp=Getrockneter Seetang -item.minecraft.drowned_spawn_egg=Ertrunkenen-Spawn-Ei -item.minecraft.egg=Ei -item.minecraft.elder_guardian_spawn_egg=Großer-Wächter-Spawn-Ei -item.minecraft.elytra=Elytren -item.minecraft.emerald=Smaragd -item.minecraft.enchanted_book=Verzaubertes Buch -item.minecraft.enchanted_golden_apple=Verzauberter goldener Apfel -item.minecraft.end_crystal=Enderkristall -item.minecraft.ender_eye=Enderauge -item.minecraft.ender_pearl=Enderperle -item.minecraft.enderman_spawn_egg=Enderman-Spawn-Ei -item.minecraft.endermite_spawn_egg=Endermiten-Spawn-Ei -item.minecraft.evoker_spawn_egg=Magier-Spawn-Ei -item.minecraft.experience_bottle=Erfahrungsfläschchen -item.minecraft.feather=Feder -item.minecraft.fermented_spider_eye=Fermentiertes Spinnenauge -item.minecraft.filled_map=Karte -item.minecraft.fire_charge=Feuerkugel -item.minecraft.firework_rocket=Feuerwerksrakete -item.minecraft.firework_star=Feuerwerksstern -item.minecraft.fishing_rod=Angel -item.minecraft.flint=Feuerstein -item.minecraft.flint_and_steel=Feuerzeug -item.minecraft.flower_banner_pattern=Bannervorlage -item.minecraft.flower_banner_pattern.desc=Blume -item.minecraft.flower_pot=Blumentopf -item.minecraft.fox_spawn_egg=Fuchs-Spawn-Ei -item.minecraft.furnace_minecart=Antriebslore -item.minecraft.ghast_spawn_egg=Ghast-Spawn-Ei -item.minecraft.ghast_tear=Ghastträne -item.minecraft.glass_bottle=Glasflasche -item.minecraft.glistering_melon_slice=Glitzernde Melonenscheibe -item.minecraft.globe_banner_pattern=Bannervorlage -item.minecraft.globe_banner_pattern.desc=Globus -item.minecraft.glowstone_dust=Glowstonestaub -item.minecraft.gold_ingot=Goldbarren -item.minecraft.gold_nugget=Goldklumpen -item.minecraft.golden_apple=Goldener Apfel -item.minecraft.golden_axe=Goldaxt -item.minecraft.golden_boots=Goldstiefel -item.minecraft.golden_carrot=Goldene Karotte -item.minecraft.golden_chestplate=Goldharnisch -item.minecraft.golden_helmet=Goldhelm -item.minecraft.golden_hoe=Goldhacke -item.minecraft.golden_horse_armor=Goldener Rossharnisch -item.minecraft.golden_leggings=Goldbeinschutz -item.minecraft.golden_pickaxe=Goldspitzhacke -item.minecraft.golden_shovel=Goldschaufel -item.minecraft.golden_sword=Goldschwert -item.minecraft.gray_dye=Grauer Farbstoff -item.minecraft.green_dye=Grüner Farbstoff -item.minecraft.guardian_spawn_egg=Wächter-Spawn-Ei -item.minecraft.gunpowder=Schwarzpulver -item.minecraft.heart_of_the_sea=Herz des Meeres -item.minecraft.hopper_minecart=Trichterlore -item.minecraft.horse_spawn_egg=Pferde-Spawn-Ei -item.minecraft.husk_spawn_egg=Wüstenzombie-Spawn-Ei -item.minecraft.ink_sac=Tintenbeutel -item.minecraft.iron_axe=Eisenaxt -item.minecraft.iron_boots=Eisenstiefel -item.minecraft.iron_chestplate=Eisenharnisch -item.minecraft.iron_helmet=Eisenhelm -item.minecraft.iron_hoe=Eisenhacke -item.minecraft.iron_horse_armor=Eiserner Rossharnisch -item.minecraft.iron_ingot=Eisenbarren -item.minecraft.iron_leggings=Eisenbeinschutz -item.minecraft.iron_nugget=Eisenklumpen -item.minecraft.iron_pickaxe=Eisenspitzhacke -item.minecraft.iron_shovel=Eisenschaufel -item.minecraft.iron_sword=Eisenschwert -item.minecraft.item_frame=Rahmen -item.minecraft.jungle_boat=Tropenholzboot -item.minecraft.knowledge_book=Buch des Wissens -item.minecraft.lapis_lazuli=Lapislazuli -item.minecraft.lava_bucket=Lavaeimer -item.minecraft.lead=Leine -item.minecraft.leather=Leder -item.minecraft.leather_boots=Lederstiefel -item.minecraft.leather_chestplate=Lederjacke -item.minecraft.leather_helmet=Lederkappe -item.minecraft.leather_horse_armor=Lederner Rossharnisch -item.minecraft.leather_leggings=Lederhose -item.minecraft.light_blue_dye=Hellblauer Farbstoff -item.minecraft.light_gray_dye=Hellgrauer Farbstoff -item.minecraft.lime_dye=Hellgrüner Farbstoff -item.minecraft.lingering_potion=Verweiltrank -item.minecraft.lingering_potion.effect.awkward=Seltsamer Verweiltrank -item.minecraft.lingering_potion.effect.empty=Nicht braubarer Verweiltrank -item.minecraft.lingering_potion.effect.fire_resistance=Verweiltrank der Feuerresistenz -item.minecraft.lingering_potion.effect.harming=Verweiltrank des Schadens -item.minecraft.lingering_potion.effect.healing=Verweiltrank der Heilung -item.minecraft.lingering_potion.effect.invisibility=Verweiltrank der Unsichtbarkeit -item.minecraft.lingering_potion.effect.leaping=Verweiltrank der Sprungkraft -item.minecraft.lingering_potion.effect.levitation=Verweiltrank der Schwebekraft -item.minecraft.lingering_potion.effect.luck=Verweiltrank des Glücks -item.minecraft.lingering_potion.effect.mundane=Gewöhnlicher Verweiltrank -item.minecraft.lingering_potion.effect.night_vision=Verweiltrank der Nachtsicht -item.minecraft.lingering_potion.effect.poison=Verweiltrank der Vergiftung -item.minecraft.lingering_potion.effect.regeneration=Verweiltrank der Regeneration -item.minecraft.lingering_potion.effect.slow_falling=Verweiltrank des sanften Falls -item.minecraft.lingering_potion.effect.slowness=Verweiltrank der Langsamkeit -item.minecraft.lingering_potion.effect.strength=Verweiltrank der Stärke -item.minecraft.lingering_potion.effect.swiftness=Verweiltrank der Schnelligkeit -item.minecraft.lingering_potion.effect.thick=Dickflüssiger Verweiltrank -item.minecraft.lingering_potion.effect.turtle_master=Verweiltrank des Schildkrötenmeisters -item.minecraft.lingering_potion.effect.water=Verweilende Wasserflasche -item.minecraft.lingering_potion.effect.water_breathing=Verweiltrank der Unterwasseratmung -item.minecraft.lingering_potion.effect.weakness=Verweiltrank der Schwäche -item.minecraft.llama_spawn_egg=Lama-Spawn-Ei -item.minecraft.magenta_dye=Magenta Farbstoff -item.minecraft.magma_cream=Magmacreme -item.minecraft.magma_cube_spawn_egg=Magmawürfel-Spawn-Ei -item.minecraft.map=Leere Karte -item.minecraft.melon_seeds=Melonenkerne -item.minecraft.melon_slice=Melonenscheibe -item.minecraft.milk_bucket=Milcheimer -item.minecraft.minecart=Lore -item.minecraft.mojang_banner_pattern=Bannervorlage -item.minecraft.mojang_banner_pattern.desc=Mojang-Logo -item.minecraft.mooshroom_spawn_egg=Mooshroom-Spawn-Ei -item.minecraft.mule_spawn_egg=Maultier-Spawn-Ei -item.minecraft.mushroom_stew=Pilzsuppe -item.minecraft.music_disc_11=Schallplatte -item.minecraft.music_disc_11.desc=C418 - 11 -item.minecraft.music_disc_13=Schallplatte -item.minecraft.music_disc_13.desc=C418 - 13 -item.minecraft.music_disc_blocks=Schallplatte -item.minecraft.music_disc_blocks.desc=C418 - Blocks -item.minecraft.music_disc_cat=Schallplatte -item.minecraft.music_disc_cat.desc=C418 - Cat -item.minecraft.music_disc_chirp=Schallplatte -item.minecraft.music_disc_chirp.desc=C418 - Chirp -item.minecraft.music_disc_far=Schallplatte -item.minecraft.music_disc_far.desc=C418 - Far -item.minecraft.music_disc_mall=Schallplatte -item.minecraft.music_disc_mall.desc=C418 - Mall -item.minecraft.music_disc_mellohi=Schallplatte -item.minecraft.music_disc_mellohi.desc=C418 - Mellohi -item.minecraft.music_disc_stal=Schallplatte -item.minecraft.music_disc_stal.desc=C418 - Stal -item.minecraft.music_disc_strad=Schallplatte -item.minecraft.music_disc_strad.desc=C418 - Strad -item.minecraft.music_disc_wait=Schallplatte -item.minecraft.music_disc_wait.desc=C418 - Wait -item.minecraft.music_disc_ward=Schallplatte -item.minecraft.music_disc_ward.desc=C418 - Ward -item.minecraft.mutton=Rohes Hammelfleisch -item.minecraft.name_tag=Namensschild -item.minecraft.nautilus_shell=Nautilusschale -item.minecraft.nether_brick=Netherziegel -item.minecraft.nether_star=Netherstern -item.minecraft.nether_wart=Netherwarze -item.minecraft.oak_boat=Eichenholzboot -item.minecraft.ocelot_spawn_egg=Ozelot-Spawn-Ei -item.minecraft.orange_dye=Oranger Farbstoff -item.minecraft.painting=Gemälde -item.minecraft.panda_spawn_egg=Panda-Spawn-Ei -item.minecraft.paper=Papier -item.minecraft.parrot_spawn_egg=Papageien-Spawn-Ei -item.minecraft.phantom_membrane=Phantomhaut -item.minecraft.phantom_spawn_egg=Phantom-Spawn-Ei -item.minecraft.pig_spawn_egg=Schweine-Spawn-Ei -item.minecraft.pillager_spawn_egg=Plünderer-Spawn-Ei -item.minecraft.pink_dye=Rosa Farbstoff -item.minecraft.poisonous_potato=Giftige Kartoffel -item.minecraft.polar_bear_spawn_egg=Eisbär-Spawn-Ei -item.minecraft.popped_chorus_fruit=Geplatzte Chorusfrucht -item.minecraft.porkchop=Rohes Schweinefleisch -item.minecraft.potato=Kartoffel -item.minecraft.potion=Trank -item.minecraft.potion.effect.awkward=Seltsamer Trank -item.minecraft.potion.effect.empty=Nicht braubarer Trank -item.minecraft.potion.effect.fire_resistance=Trank der Feuerresistenz -item.minecraft.potion.effect.harming=Trank des Schadens -item.minecraft.potion.effect.healing=Trank der Heilung -item.minecraft.potion.effect.invisibility=Trank der Unsichtbarkeit -item.minecraft.potion.effect.leaping=Trank der Sprungkraft -item.minecraft.potion.effect.levitation=Trank der Schwebekraft -item.minecraft.potion.effect.luck=Trank des Glücks -item.minecraft.potion.effect.mundane=Gewöhnlicher Trank -item.minecraft.potion.effect.night_vision=Trank der Nachtsicht -item.minecraft.potion.effect.poison=Trank der Vergiftung -item.minecraft.potion.effect.regeneration=Trank der Regeneration -item.minecraft.potion.effect.slow_falling=Trank des sanften Falls -item.minecraft.potion.effect.slowness=Trank der Langsamkeit -item.minecraft.potion.effect.strength=Trank der Stärke -item.minecraft.potion.effect.swiftness=Trank der Schnelligkeit -item.minecraft.potion.effect.thick=Dickflüssiger Trank -item.minecraft.potion.effect.turtle_master=Trank des Schildkrötenmeisters -item.minecraft.potion.effect.water=Wasserflasche -item.minecraft.potion.effect.water_breathing=Trank der Unterwasseratmung -item.minecraft.potion.effect.weakness=Trank der Schwäche -item.minecraft.prismarine_crystals=Prismarinkristalle -item.minecraft.prismarine_shard=Prismarinscherbe -item.minecraft.pufferfish=Kugelfisch -item.minecraft.pufferfish_bucket=Kugelfischeimer -item.minecraft.pufferfish_spawn_egg=Kugelfisch-Spawn-Ei -item.minecraft.pumpkin_pie=Kürbiskuchen -item.minecraft.pumpkin_seeds=Kürbiskerne -item.minecraft.purple_dye=Violetter Farbstoff -item.minecraft.quartz=Netherquarz -item.minecraft.rabbit=Rohes Kaninchen -item.minecraft.rabbit_foot=Hasenpfote -item.minecraft.rabbit_hide=Kaninchenfell -item.minecraft.rabbit_spawn_egg=Kaninchen-Spawn-Ei -item.minecraft.rabbit_stew=Kaninchenragout -item.minecraft.ravager_spawn_egg=Verwüster-Spawn-Ei -item.minecraft.red_dye=Roter Farbstoff -item.minecraft.redstone=Redstone-Staub -item.minecraft.rose_red=Rosenrot -item.minecraft.rotten_flesh=Verrottetes Fleisch -item.minecraft.saddle=Sattel -item.minecraft.salmon=Roher Lachs -item.minecraft.salmon_bucket=Lachseimer -item.minecraft.salmon_spawn_egg=Lachs-Spawn-Ei -item.minecraft.scute=Hornschild -item.minecraft.shears=Schere -item.minecraft.sheep_spawn_egg=Schaf-Spawn-Ei -item.minecraft.shulker_shell=Shulkerschale -item.minecraft.shulker_spawn_egg=Shulker-Spawn-Ei -item.minecraft.sign=Schild -item.minecraft.silverfish_spawn_egg=Silberfischchen-Spawn-Ei -item.minecraft.skeleton_horse_spawn_egg=Skelettpferd-Spawn-Ei -item.minecraft.skeleton_skull=Skelettschädel -item.minecraft.skeleton_spawn_egg=Skelett-Spawn-Ei -item.minecraft.skull_banner_pattern=Bannervorlage -item.minecraft.skull_banner_pattern.desc=Schädel -item.minecraft.slime_ball=Schleimball -item.minecraft.slime_spawn_egg=Schleim-Spawn-Ei -item.minecraft.snowball=Schneeball -item.minecraft.spectral_arrow=Spektralpfeil -item.minecraft.spider_eye=Spinnenauge -item.minecraft.spider_spawn_egg=Spinnen-Spawn-Ei -item.minecraft.splash_potion=Wurftrank -item.minecraft.splash_potion.effect.awkward=Seltsamer Wurftrank -item.minecraft.splash_potion.effect.empty=Nicht braubarer Wurftrank -item.minecraft.splash_potion.effect.fire_resistance=Wurftrank der Feuerresistenz -item.minecraft.splash_potion.effect.harming=Wurftrank des Schadens -item.minecraft.splash_potion.effect.healing=Wurftrank der Heilung -item.minecraft.splash_potion.effect.invisibility=Wurftrank der Unsichtbarkeit -item.minecraft.splash_potion.effect.leaping=Wurftrank der Sprungkraft -item.minecraft.splash_potion.effect.levitation=Wurftrank der Schwebekraft -item.minecraft.splash_potion.effect.luck=Wurftrank des Glücks -item.minecraft.splash_potion.effect.mundane=Gewöhnlicher Wurftrank -item.minecraft.splash_potion.effect.night_vision=Wurftrank der Nachtsicht -item.minecraft.splash_potion.effect.poison=Wurftrank der Vergiftung -item.minecraft.splash_potion.effect.regeneration=Wurftrank der Regeneration -item.minecraft.splash_potion.effect.slow_falling=Wurftrank des sanften Falls -item.minecraft.splash_potion.effect.slowness=Wurftrank der Langsamkeit -item.minecraft.splash_potion.effect.strength=Wurftrank der Stärke -item.minecraft.splash_potion.effect.swiftness=Wurftrank der Schnelligkeit -item.minecraft.splash_potion.effect.thick=Dickflüssiger Wurftrank -item.minecraft.splash_potion.effect.turtle_master=Wurftrank des Schildkrötenmeisters -item.minecraft.splash_potion.effect.water=Werfbare Wasserflasche -item.minecraft.splash_potion.effect.water_breathing=Wurftrank der Unterwasseratmung -item.minecraft.splash_potion.effect.weakness=Wurftrank der Schwäche -item.minecraft.spruce_boat=Fichtenholzboot -item.minecraft.squid_spawn_egg=Tintenfisch-Spawn-Ei -item.minecraft.stick=Stock -item.minecraft.stone_axe=Steinaxt -item.minecraft.stone_hoe=Steinhacke -item.minecraft.stone_pickaxe=Steinspitzhacke -item.minecraft.stone_shovel=Steinschaufel -item.minecraft.stone_sword=Steinschwert -item.minecraft.stray_spawn_egg=Eiswanderer-Spawn-Ei -item.minecraft.string=Faden -item.minecraft.sugar=Zucker -item.minecraft.suspicious_stew=Seltsame Suppe -item.minecraft.sweet_berries=Süßbeeren -item.minecraft.tipped_arrow=Getränkter Pfeil -item.minecraft.tipped_arrow.effect.awkward=Getränkter Pfeil -item.minecraft.tipped_arrow.effect.empty=Nicht herstellbarer getränkter Pfeil -item.minecraft.tipped_arrow.effect.fire_resistance=Pfeil der Feuerresistenz -item.minecraft.tipped_arrow.effect.harming=Pfeil des Schadens -item.minecraft.tipped_arrow.effect.healing=Pfeil der Heilung -item.minecraft.tipped_arrow.effect.invisibility=Pfeil der Unsichtbarkeit -item.minecraft.tipped_arrow.effect.leaping=Pfeil der Sprungkraft -item.minecraft.tipped_arrow.effect.levitation=Pfeil der Schwebekraft -item.minecraft.tipped_arrow.effect.luck=Pfeil des Glücks -item.minecraft.tipped_arrow.effect.mundane=Getränkter Pfeil -item.minecraft.tipped_arrow.effect.night_vision=Pfeil der Nachtsicht -item.minecraft.tipped_arrow.effect.poison=Pfeil der Vergiftung -item.minecraft.tipped_arrow.effect.regeneration=Pfeil der Regeneration -item.minecraft.tipped_arrow.effect.slow_falling=Pfeil des sanften Falls -item.minecraft.tipped_arrow.effect.slowness=Pfeil der Langsamkeit -item.minecraft.tipped_arrow.effect.strength=Pfeil der Stärke -item.minecraft.tipped_arrow.effect.swiftness=Pfeil der Schnelligkeit -item.minecraft.tipped_arrow.effect.thick=Getränkter Pfeil -item.minecraft.tipped_arrow.effect.turtle_master=Pfeil des Schildkrötenmeisters -item.minecraft.tipped_arrow.effect.water=Nasser Pfeil -item.minecraft.tipped_arrow.effect.water_breathing=Pfeil der Unterwasseratmung -item.minecraft.tipped_arrow.effect.weakness=Pfeil der Schwäche -item.minecraft.tnt_minecart=TNT-Lore -item.minecraft.totem_of_undying=Totem der Unsterblichkeit -item.minecraft.trader_llama_spawn_egg=Händlerlama-Spawn-Ei -item.minecraft.trident=Dreizack -item.minecraft.tropical_fish=Tropenfisch -item.minecraft.tropical_fish_bucket=Tropenfischeimer -item.minecraft.tropical_fish_spawn_egg=Tropenfisch-Spawn-Ei -item.minecraft.turtle_helmet=Schildkrötenpanzer -item.minecraft.turtle_spawn_egg=Schildkröten-Spawn-Ei -item.minecraft.vex_spawn_egg=Plagegeist-Spawn-Ei -item.minecraft.villager_spawn_egg=Dorfbewohner-Spawn-Ei -item.minecraft.vindicator_spawn_egg=Diener-Spawn-Ei -item.minecraft.wandering_trader_spawn_egg=Fahrender-Händler-Spawn-Ei -item.minecraft.water_bucket=Wassereimer -item.minecraft.wheat=Weizen -item.minecraft.wheat_seeds=Weizenkörner -item.minecraft.white_dye=Weißer Farbstoff -item.minecraft.witch_spawn_egg=Hexen-Spawn-Ei -item.minecraft.wither_skeleton_skull=Witherskelettschädel -item.minecraft.wither_skeleton_spawn_egg=Witherskelett-Spawn-Ei -item.minecraft.wolf_spawn_egg=Wolf-Spawn-Ei -item.minecraft.wooden_axe=Holzaxt -item.minecraft.wooden_hoe=Holzhacke -item.minecraft.wooden_pickaxe=Holzspitzhacke -item.minecraft.wooden_shovel=Holzschaufel -item.minecraft.wooden_sword=Holzschwert -item.minecraft.writable_book=Buch und Feder -item.minecraft.written_book=Beschriebenes Buch -item.minecraft.yellow_dye=Gelber Farbstoff -item.minecraft.zombie_head=Zombiekopf -item.minecraft.zombie_horse_spawn_egg=Zombiepferd-Spawn-Ei -item.minecraft.zombie_pigman_spawn_egg=Schweinezombie-Spawn-Ei -item.minecraft.zombie_spawn_egg=Zombie-Spawn-Ei -item.minecraft.zombie_villager_spawn_egg=Dorfbewohnerzombie-Spawn-Ei \ No newline at end of file diff --git a/implementation/src/main/resources/lang/en_US-legacy.lang b/implementation/src/main/resources/lang/en_US-legacy.lang deleted file mode 100644 index 00bd652..0000000 --- a/implementation/src/main/resources/lang/en_US-legacy.lang +++ /dev/null @@ -1,1163 +0,0 @@ -# ============================================================================= -# = THIS LANGAUGE FILE IS ONLY FOR MINECRAFT VERSIONS BELOW 1.13! = -# = IF YOU TRANSLATE THIS, YOU HAVE TO APPEND "-legacy" TO THE FILE NAME = -# = OR IT WILL THROW A LOT OF ERRORS! = -# ============================================================================= - - -# Set the message when a shop is created at the clicked chest. -# Usable Placeholders: %CREATION-PRICE% -message.shop-created=&6You were withdrawn &c%CREATION-PRICE% &6to create this shop. - -# Set the message when an admin shop is created at the clicked chest. -# Usable Placeholders: %CREATION-PRICE% -message.admin-shop-created=&6You were withdrawn &c%CREATION-PRICE% &6to create this admin shop. - -# Set the message when the clicked chest already is a shop. -message.chest-already-shop=&cChest already is shop. - -# Set the message when there is a block above the clicked chest. -message.chest-blocked=&cThere must not be a block above the chest. - -# Set the message when a player tries to place a chest next to a shop's chest -# to create a double chest shop, but there is a block above the placed chest. -message.double-chest-blocked=&cThere must not be a block above the chest. - -# Set the message when the clicked shop is removed but no refund was given. -message.shop-removed=&6Shop removed. - -# Set the message when the clicked shop is removed and the player is refunded -# the creation price. -# Usable Placeholders: %CREATION-PRICE% -message.shop-removed-refund=&6Shop removed. You were refunded &c%CREATION-PRICE%&6. - -# Set the message when all shops of a player were removed. -# Usable Placeholders: %AMOUNT%, %VENDOR% -message.all-shops-removed=&6Removed all (&c%AMOUNT%&6) shops of &c%VENDOR%&6. - -# Set the message when the clicked chest is not a shop. -message.chest-no-shop=&cChest is not a shop. - -# Set the message when the player doesn't have enough money to create a shop -# Usable Placeholders: %CREATION-PRICE% -message.shop-create-not-enough-money=&cNot enough money. You need &6%CREATION-PRICE% &cto create a shop. - -# Set the vendor message the player gets after entering '/shop info'. -# Usable Placeholders: %VENDOR% -message.shopInfo.vendor=&6Vendor: &e%VENDOR% - -# Set the product message the player gets after entering '/shop info'. -# Usable Placeholders: %AMOUNT%, %ITEMNAME% -message.shopInfo.product=&6Product: &e%AMOUNT% x %ITEMNAME% - -# Set the in-stock message the player after entering '/shop info'. -# Usable Placeholders=%STOCK% -message.shopInfo.stock=&6In Stock: &e%STOCK% - -# Set the chest-space message the player after entering '/shop info'. -# Usable Placeholders=%CHEST-SPACE% -message.shopInfo.chest-space=&6Space in chest: &e%CHEST-SPACE% - -# Set the price message the player gets after entering '/shop info'. -# Usable Placeholders: %BUY-PRICE%, %SELL-PRICE% -message.shopInfo.price=&6Price: Buy: &e%BUY-PRICE%&6 Sell: &e%SELL-PRICE% - -# If the sell price or buy price is disabled, this message will be displayed instead of the price in the message above. -message.shopInfo.disabled=&7Disabled - -# Set the type message the player gets after entering '/shop info' ... -# ... when the shop is normal. -message.shopInfo.is-normal=&6Type: &eNormal - -# ... when the shop is an admin shop. -message.shopInfo.is-admin=&6Type: &eAdmin - -# Set the message when the player tries to create a shop with sell price and buy price set to 0 -message.buy-and-sell-disabled=&cYou can't create a shop with buying and selling disabled. - -# Set the message when the player successfully bought something. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %VENDOR% -message.buy-success=&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from &6%VENDOR%&a. - -# Set the message when the player successfully bought something from an admin shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE% -message.buy-success-admin=&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a. - -# Set the message when the player successfully sold something. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %VENDOR% -message.sell-success=&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to &6%VENDOR%&a. - -# Set the message when the player successfully sold something to an admin shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE% -message.sell-success-admin=&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a. - -# Set the message when a player bought something from the player's shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %PLAYER% -message.someone-bought=&6%PLAYER% &abought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from your shop. - -# Set the message when a player sold something to the player's shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %PLAYER% -message.someone-sold=&6%PLAYER% &asold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to your shop. - -# Set the message when a player joins and made a revenue while he was offline. -# Usable Placeholders: %REVENUE% -message.revenue-while-offline=&6While you were offline, your shops have made a revenue of &c%REVENUE%&6. - -# Set the message when the inventory is full when the player is buying something. -message.not-enough-inventory-space=&cNot enough space in inventory. - -# Set the message when the shop's inventory is full when the player is selling something. -message.chest-not-enough-inventory-space=&cShop is full. - -# Set the message when the player doesn't have enough money to buy something. -message.not-enough-money=&cNot enough money. - -# Set the message when the player doesn't have enough items to sell. -message.not-enough-items=&cNot enough items. - -# Set the message when the vendor doesn't have enough money to buy something from the player -message.vendor-not-enough-money=&cVendor has not enough money. - -# Set the message when the shop is out of stock. -message.out-of-stock=&cShop out of stock. - -# Set the message the vendor gets when his shop is out of stock -# Usable Placeholders: %AMOUNT%, %ITEMNAME% -message.vendor-out-of-stock=&cYour shop that sells &6%AMOUNT% x %ITEMNAME% &cis out of stock. - -# Set the message when an error occurred. -# Usable Placeholders: %ERROR% -message.error-occurred=&cAn error occurred: %ERROR% - -# Set the message when the arguments , and/or of '/shop create' are not a number. -message.amount-and-price-not-number=&cAmount and prices must be numbers. - -# Set the message when the argument is zero -message.amount-is-zero=&cAmount must be greater than 0. - -# Set the message when the config value "allow-decimals-in-prices" is set to false -# and a player enters a price with decimals -message.prices-contain-decimals=&cPrices must not contain decimals. - -# Set the message when the player doesn't hold an item in the hand. -message.no-item-in-hand=&cNo item in hand - -# Set the message when the player must click a chest to create a shop. -message.click-chest-to-create-shop=&aClick a chest within 15 seconds to create a shop. - -# Set the message when the player must click a shop to remove it. -message.click-chest-to-remove-shop=&aClick a shop within 15 seconds to remove it. - -# Set the message when the player must click a shop to retrieve information. -message.click-chest-for-info=&aClick a shop within 15 seconds to retrieve information. - -# Set the message when the player must click a shop to open it. -message.click-chest-to-open-shop=&aClick a shop within 15 seconds to open it. - -# Set the message when the player must click the shop again to confirm the buy/sell. -message.click-to-confirm=&aClick again to confirm. - -# Set the message when the player opened a shop. -# Usable Placeholders: %VENDOR% -message.opened-shop=&aYou opened %VENDOR%'s shop. - -# Set the message when the player tries to break a shop. -message.cannot-break-shop=&cYou can't break a shop. - -# Set the message when the player tries to sell a broken item. -message.cannot-sell-broken-item=&cYou can't sell a broken item. - -# Set the message when the entered buy price is below the minimum price. -# Usable Placeholders: %MIN-PRICE% -message.buy-price-too-low=&cThe buy price must be higher than %MIN-PRICE%. - -# Set the message when the entered sell price is below the minimum price. -# Usable Placeholders: %MIN-PRICE% -message.sell-price-too-low=&cThe sell price must be higher than %MIN-PRICE%. - -# Set the message when the entered buy price is below the maximum price. -# Usable Placeholders: %MAX-PRICE% -message.buy-price-too-high=&cThe buy price must be lower than %MAX-PRICE%. - -# Set the message when the entered sell price is below the maximum price. -# Usable Placeholders: %MAX-PRICE% -message.sell-price-too-high=&cThe sell price must be lower than %MAX-PRICE%. - -# Set the message when buying is disabled at the shop. -message.buying-disabled=&cBuying is disabled at this shop. - -# Set the message when selling is disabled at the shop. -message.selling-disabled=&cSelling is disabled at this shop. - -# Set the message when reloading is done. -# Usable Placeholders: %AMOUNT% (Amount of shops) -message.reloaded-shops=&aSuccessfully reloaded %AMOUNT% shop/s. - -# Set the message when the player's shop limit is reached. -# Usable Placeholders: %LIMIT% -message.shop-limit-reached=&cYou reached your limit of &6%LIMIT% &cshop/s. - -# Set the message that shows the player how many shop slots of his shop limit he has occupied. -# Usable Placeholders: %LIMIT%, %AMOUNT% (Amount of shops) -message.occupied-shop-slots=&6You have &c%AMOUNT%/%LIMIT% &6shop slot/s occupied. - -# Set the message when the player tries to create a shop with an item which is listed in the blacklist. -message.cannot-sell-item=&cYou cannot create a shop with this item. - -# Set the message when the player tries to use a shop in creative mode. -message.use-in-creative=&cYou cannot use a shop in creative mode. - -# Set the message when the player has to select an item from the creative menu. -message.select-item=&aOpen your inventory, and drop an item to select it. - -# Set the message when the player has selected an item from the creative menu. -# Usable Placeholders: %ITEMNAME% -message.item-selected=&aItem has been selected: &6%ITEMNAME% - -# Set the message when the player closes the creative menu to select an item. -message.creation-cancelled=&cShop creation has been cancelled. - -# Set the message when an update is available. -# Usable Placeholders: %VERSION% -message.update.update-available=&6&lVersion &c&l%VERSION% &6&lof &c&lShopChest &6&lis available &c&lhere. - -# Set the message you get when hovering over the available message. -message.update.click-to-download=Click to download - -# Set the message when no update is available. -message.update.no-update=&6&lNo new update available. - -# Set the message when the update checker is started. -message.update.checking=&6&lChecking for updates... - -# Set the message when an error occurs while checking for updates. -message.update.error=&c&lError while checking for updates. - -# Set the message when a not permitted player tries to create a shop. -message.noPermission.create=&cYou don't have permission to create a shop. - -# Set the message when a not permitted player tries to create an admin shop. -message.noPermission.create-admin=&cYou don't have permission to create an admin shop. - -# Set the message when a not permitted player tries to create a shop on a protected chest. -message.noPermission.create-protected=&cYou don't have permission to create a shop here. - -# Set the message when a not permitted player tries to open another player's shop. -message.noPermission.open-others=&cYou don't have permission to open this chest. - -# Set the message when a not permitted player tries to buy something. -message.noPermission.buy=&cYou don't have permission to buy something. - -# Set the message when a not permitted player tries to sell something. -message.noPermission.sell=&cYou don't have permission to sell something. - -# Set the message when a player tries to buy something in a region/plot that denied shop use. -message.noPermission.buy-here=&cYou don't have permission to buy something here. - -# Set the message when a player tries to sell something in a region/plot region that denied shop use. -message.noPermission.sell-here=&cYou don't have permission to sell something here. - -# Set the message when a not permitted player tries to remove another player's shop. -message.noPermission.remove-others=&cYou don't have permission to remove this shop. - -# Set the message when a not permitted player tries to remove an admin shop. -message.noPermission.remove-admin=&cYou don't have permission to remove an admin shop. - -# Set the message when a not permitted player tries to reload the shops. -message.noPermission.reload=&cYou don't have permission to reload the shops. - -# Set the message when a not permitted player tries to check for updates. -message.noPermission.update=&cYou don't have permission to check for updates. - -# Set the message when a not permitted player tries to change configuration values. -message.noPermission.config=&cYou don't have permission to change configuration values. - -# Set the message when a not permitted player tries to extend another player's shop's chest. -message.noPermission.extend-others=&cYou don't have permission to extend this chest. - -# Set the message when a not permitted player tries to extend a chest into a protected region/plot (e.g. WorldGuard/Towny). -message.noPermission.extend-protected=&cYou don't have permission to extend this chest to here. - -# Set the header of the help message the player gets after entering '/shop' or an invalid command. -# Usable Placeholders: %COMMAND% -message.commandDescription.header=&6==== &c/%COMMAND% &6Help - -# Set the footer of the help message the player gets after entering '/shop' or an invalid command. -# Usable Placeholders: %COMMAND% -message.commandDescription.footer=&6==== End - -# Set the command description message for '/shop create' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.create=&a/%COMMAND% create - Create a shop. - -# Set the command description message for '/shop create' when you type '/shop' and have permission "shopchest.create.admin" -# Usable Placeholders: %COMMAND% -message.commandDescription.create-admin=&a/%COMMAND% create [normal|admin] - Create a shop. - -# Set the command description message for '/shop remove' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.remove=&a/%COMMAND% remove - Remove a shop. - -# Set the command description message for '/shop info' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.info=&a/%COMMAND% info - Retrieve shop information. - -# Set the command description message for '/shop removeall' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.removeall=&a/%COMMAND% removeall - Remove all shops of a player. - -# Set the command description message for '/shop reload' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.reload=&a/%COMMAND% reload - Reload shops. - -# Set the command description message for '/shop update' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.update=&a/%COMMAND% update - Check for Updates. - -# Set the command description message for '/shop limits' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.limits=&a/%COMMAND% limits - View shop limits. - -# Set the command description message for '/shop open' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.open=&a/%COMMAND% open - Open a shop. - -# Set the command description message for '/shop config' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.config=&a/%COMMAND% config - Change configuration values. - -# Set the message a player gets after setting a configuration value per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.set=&6Changed &a%PROPERTY% &6to &a%VALUE%&6. - -# Set the message a player gets after adding a value to a list in the configuration per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.added=&6Added &a%VALUE% &6to &a%PROPERTY%&6. - -# Set the message a player gets after removing a value from a list in the configuration per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.removed=&6Removed &a%VALUE% &6from &a%PROPERTY%&6. - -book.generation.0=Original -book.generation.1=Copy of original -book.generation.2=Copy of a copy -book.generation.3=Tattered -tile.barrier.name=Barrier -tile.stone.stone.name=Stone -tile.stone.granite.name=Granite -tile.stone.graniteSmooth.name=Polished Granite -tile.stone.diorite.name=Diorite -tile.stone.dioriteSmooth.name=Polished Diorite -tile.stone.andesite.name=Andesite -tile.stone.andesiteSmooth.name=Polished Andesite -tile.hayBlock.name=Hay Bale -tile.grass.name=Grass Block -tile.dirt.default.name=Dirt -tile.dirt.coarse.name=Coarse Dirt -tile.dirt.podzol.name=Podzol -tile.stonebrick.name=Cobblestone -tile.wood.oak.name=Oak Wood Planks -tile.wood.spruce.name=Spruce Wood Planks -tile.wood.birch.name=Birch Wood Planks -tile.wood.jungle.name=Jungle Wood Planks -tile.wood.acacia.name=Acacia Wood Planks -tile.wood.big_oak.name=Dark Oak Wood Planks -tile.sapling.oak.name=Oak Sapling -tile.sapling.spruce.name=Spruce Sapling -tile.sapling.birch.name=Birch Sapling -tile.sapling.jungle.name=Jungle Sapling -tile.sapling.acacia.name=Acacia Sapling -tile.sapling.big_oak.name=Dark Oak Sapling -tile.deadbush.name=Dead Bush -tile.bedrock.name=Bedrock -tile.water.name=Water -tile.lava.name=Lava -tile.sand.default.name=Sand -tile.sand.red.name=Red Sand -tile.sandStone.default.name=Sandstone -tile.sandStone.chiseled.name=Chiseled Sandstone -tile.sandStone.smooth.name=Smooth Sandstone -tile.redSandStone.default.name=Red Sandstone -tile.redSandStone.chiseled.name=Chiseled Red Sandstone -tile.redSandStone.smooth.name=Smooth Red Sandstone -tile.gravel.name=Gravel -tile.oreGold.name=Gold Ore -tile.oreIron.name=Iron Ore -tile.oreCoal.name=Coal Ore -tile.log.oak.name=Oak Wood -tile.log.spruce.name=Spruce Wood -tile.log.birch.name=Birch Wood -tile.log.jungle.name=Jungle Wood -tile.log.acacia.name=Acacia Wood -tile.log.big_oak.name=Dark Oak Wood -tile.leaves.oak.name=Oak Leaves -tile.leaves.spruce.name=Spruce Leaves -tile.leaves.birch.name=Birch Leaves -tile.leaves.jungle.name=Jungle Leaves -tile.leaves.acacia.name=Acacia Leaves -tile.leaves.big_oak.name=Dark Oak Leaves -tile.tallgrass.shrub.name=Shrub -tile.tallgrass.grass.name=Grass -tile.tallgrass.fern.name=Fern -tile.sponge.dry.name=Sponge -tile.sponge.wet.name=Wet Sponge -tile.glass.name=Glass -tile.stainedGlass.black.name=Black Stained Glass -tile.stainedGlass.red.name=Red Stained Glass -tile.stainedGlass.green.name=Green Stained Glass -tile.stainedGlass.brown.name=Brown Stained Glass -tile.stainedGlass.blue.name=Blue Stained Glass -tile.stainedGlass.purple.name=Purple Stained Glass -tile.stainedGlass.cyan.name=Cyan Stained Glass -tile.stainedGlass.silver.name=Light Gray Stained Glass -tile.stainedGlass.gray.name=Gray Stained Glass -tile.stainedGlass.pink.name=Pink Stained Glass -tile.stainedGlass.lime.name=Lime Stained Glass -tile.stainedGlass.yellow.name=Yellow Stained Glass -tile.stainedGlass.lightBlue.name=Light Blue Stained Glass -tile.stainedGlass.magenta.name=Magenta Stained Glass -tile.stainedGlass.orange.name=Orange Stained Glass -tile.stainedGlass.white.name=White Stained Glass -tile.thinStainedGlass.black.name=Black Stained Glass Pane -tile.thinStainedGlass.red.name=Red Stained Glass Pane -tile.thinStainedGlass.green.name=Green Stained Glass Pane -tile.thinStainedGlass.brown.name=Brown Stained Glass Pane -tile.thinStainedGlass.blue.name=Blue Stained Glass Pane -tile.thinStainedGlass.purple.name=Purple Stained Glass Pane -tile.thinStainedGlass.cyan.name=Cyan Stained Glass Pane -tile.thinStainedGlass.silver.name=Light Gray Stained Glass Pane -tile.thinStainedGlass.gray.name=Gray Stained Glass Pane -tile.thinStainedGlass.pink.name=Pink Stained Glass Pane -tile.thinStainedGlass.lime.name=Lime Stained Glass Pane -tile.thinStainedGlass.yellow.name=Yellow Stained Glass Pane -tile.thinStainedGlass.lightBlue.name=Light Blue Stained Glass Pane -tile.thinStainedGlass.magenta.name=Magenta Stained Glass Pane -tile.thinStainedGlass.orange.name=Orange Stained Glass Pane -tile.thinStainedGlass.white.name=White Stained Glass Pane -tile.thinGlass.name=Glass Pane -tile.flower1.dandelion.name=Dandelion -tile.flower2.poppy.name=Poppy -tile.flower2.blueOrchid.name=Blue Orchid -tile.flower2.allium.name=Allium -tile.flower2.houstonia.name=Azure Bluet -tile.flower2.tulipRed.name=Red Tulip -tile.flower2.tulipOrange.name=Orange Tulip -tile.flower2.tulipWhite.name=White Tulip -tile.flower2.tulipPink.name=Pink Tulip -tile.flower2.oxeyeDaisy.name=Oxeye Daisy -tile.doublePlant.sunflower.name=Sunflower -tile.doublePlant.syringa.name=Lilac -tile.doublePlant.grass.name=Double Tallgrass -tile.doublePlant.fern.name=Large Fern -tile.doublePlant.rose.name=Rose Bush -tile.doublePlant.paeonia.name=Peony -tile.mushroom.name=Mushroom -tile.blockGold.name=Block of Gold -tile.blockIron.name=Block of Iron -tile.stoneSlab.stone.name=Stone Slab -tile.stoneSlab.sand.name=Sandstone Slab -tile.stoneSlab.wood.name=Wooden Slab -tile.stoneSlab.cobble.name=Cobblestone Slab -tile.stoneSlab.brick.name=Bricks Slab -tile.stoneSlab.smoothStoneBrick.name=Stone Bricks Slab -tile.stoneSlab.netherBrick.name=Nether Brick Slab -tile.stoneSlab.quartz.name=Quartz Slab -tile.stoneSlab2.red_sandstone.name=Red Sandstone Slab -tile.woodSlab.oak.name=Oak Wood Slab -tile.woodSlab.spruce.name=Spruce Wood Slab -tile.woodSlab.birch.name=Birch Wood Slab -tile.woodSlab.jungle.name=Jungle Wood Slab -tile.woodSlab.acacia.name=Acacia Wood Slab -tile.woodSlab.big_oak.name=Dark Oak Wood Slab -tile.brick.name=Bricks -tile.tnt.name=TNT -tile.bookshelf.name=Bookshelf -tile.stoneMoss.name=Moss Stone -tile.obsidian.name=Obsidian -tile.torch.name=Torch -tile.fire.name=Fire -tile.mobSpawner.name=Monster Spawner -tile.stairsWood.name=Oak Wood Stairs -tile.stairsWoodSpruce.name=Spruce Wood Stairs -tile.stairsWoodBirch.name=Birch Wood Stairs -tile.stairsWoodJungle.name=Jungle Wood Stairs -tile.stairsWoodAcacia.name=Acacia Wood Stairs -tile.stairsWoodDarkOak.name=Dark Oak Wood Stairs -tile.chest.name=Chest -tile.chestTrap.name=Trapped Chest -tile.oreDiamond.name=Diamond Ore -tile.blockCoal.name=Block of Coal -tile.blockDiamond.name=Block of Diamond -tile.workbench.name=Crafting Table -tile.farmland.name=Farmland -tile.furnace.name=Furnace -tile.ladder.name=Ladder -tile.rail.name=Rail -tile.goldenRail.name=Powered Rail -tile.activatorRail.name=Activator Rail -tile.detectorRail.name=Detector Rail -tile.stairsStone.name=Cobblestone Stairs -tile.stairsSandStone.name=Sandstone Stairs -tile.stairsRedSandStone.name=Red Sandstone Stairs -tile.lever.name=Lever -tile.pressurePlateStone.name=Stone Pressure Plate -tile.pressurePlateWood.name=Wooden Pressure Plate -tile.weightedPlate_light.name=Weighted Pressure Plate (Light) -tile.weightedPlate_heavy.name=Weighted Pressure Plate (Heavy) -tile.oreRedstone.name=Redstone Ore -tile.notGate.name=Redstone Torch -tile.button.name=Button -tile.snow.name=Snow -tile.woolCarpet.black.name=Black Carpet -tile.woolCarpet.red.name=Red Carpet -tile.woolCarpet.green.name=Green Carpet -tile.woolCarpet.brown.name=Brown Carpet -tile.woolCarpet.blue.name=Blue Carpet -tile.woolCarpet.purple.name=Purple Carpet -tile.woolCarpet.cyan.name=Cyan Carpet -tile.woolCarpet.silver.name=Light Gray Carpet -tile.woolCarpet.gray.name=Gray Carpet -tile.woolCarpet.pink.name=Pink Carpet -tile.woolCarpet.lime.name=Lime Carpet -tile.woolCarpet.yellow.name=Yellow Carpet -tile.woolCarpet.lightBlue.name=Light Blue Carpet -tile.woolCarpet.magenta.name=Magenta Carpet -tile.woolCarpet.orange.name=Orange Carpet -tile.woolCarpet.white.name=White Carpet -tile.ice.name=Ice -tile.icePacked.name=Packed Ice -tile.cactus.name=Cactus -tile.clay.name=Clay -tile.clayHardenedStained.black.name=Black Terracotta -tile.clayHardenedStained.red.name=Red Terracotta -tile.clayHardenedStained.green.name=Green Terracotta -tile.clayHardenedStained.brown.name=Brown Terracotta -tile.clayHardenedStained.blue.name=Blue Terracotta -tile.clayHardenedStained.purple.name=Purple Terracotta -tile.clayHardenedStained.cyan.name=Cyan Terracotta -tile.clayHardenedStained.silver.name=Light Gray Terracotta -tile.clayHardenedStained.gray.name=Gray Terracotta -tile.clayHardenedStained.pink.name=Pink Terracotta -tile.clayHardenedStained.lime.name=Lime Terracotta -tile.clayHardenedStained.yellow.name=Yellow Terracotta -tile.clayHardenedStained.lightBlue.name=Light Blue Terracotta -tile.clayHardenedStained.magenta.name=Magenta Terracotta -tile.clayHardenedStained.orange.name=Orange Terracotta -tile.clayHardenedStained.white.name=White Terracotta -tile.clayHardened.name=Terracotta -tile.jukebox.name=Jukebox -tile.fence.name=Oak Fence -tile.spruceFence.name=Spruce Fence -tile.birchFence.name=Birch Fence -tile.jungleFence.name=Jungle Fence -tile.darkOakFence.name=Dark Oak Fence -tile.acaciaFence.name=Acacia Fence -tile.fenceGate.name=Oak Fence Gate -tile.spruceFenceGate.name=Spruce Fence Gate -tile.birchFenceGate.name=Birch Fence Gate -tile.jungleFenceGate.name=Jungle Fence Gate -tile.darkOakFenceGate.name=Dark Oak Fence Gate -tile.acaciaFenceGate.name=Acacia Fence Gate -tile.pumpkin.name=Pumpkin -tile.litpumpkin.name=Jack o'Lantern -tile.hellrock.name=Netherrack -tile.hellsand.name=Soul Sand -tile.lightgem.name=Glowstone -tile.portal.name=Portal -tile.cloth.black.name=Black Wool -tile.cloth.red.name=Red Wool -tile.cloth.green.name=Green Wool -tile.cloth.brown.name=Brown Wool -tile.cloth.blue.name=Blue Wool -tile.cloth.purple.name=Purple Wool -tile.cloth.cyan.name=Cyan Wool -tile.cloth.silver.name=Light Gray Wool -tile.cloth.gray.name=Gray Wool -tile.cloth.pink.name=Pink Wool -tile.cloth.lime.name=Lime Wool -tile.cloth.yellow.name=Yellow Wool -tile.cloth.lightBlue.name=Light Blue Wool -tile.cloth.magenta.name=Magenta Wool -tile.cloth.orange.name=Orange Wool -tile.cloth.white.name=White Wool -tile.oreLapis.name=Lapis Lazuli Ore -tile.blockLapis.name=Lapis Lazuli Block -tile.dispenser.name=Dispenser -tile.dropper.name=Dropper -tile.musicBlock.name=Note Block -tile.trapdoor.name=Wooden Trapdoor -tile.ironTrapdoor.name=Iron Trapdoor -tile.web.name=Cobweb -tile.stonebricksmooth.default.name=Stone Bricks -tile.stonebricksmooth.mossy.name=Mossy Stone Bricks -tile.stonebricksmooth.cracked.name=Cracked Stone Bricks -tile.stonebricksmooth.chiseled.name=Chiseled Stone Bricks -tile.monsterStoneEgg.stone.name=Stone Monster Egg -tile.monsterStoneEgg.cobble.name=Cobblestone Monster Egg -tile.monsterStoneEgg.brick.name=Stone Brick Monster Egg -tile.monsterStoneEgg.mossybrick.name=Mossy Stone Brick Monster Egg -tile.monsterStoneEgg.crackedbrick.name=Cracked Stone Brick Monster Egg -tile.monsterStoneEgg.chiseledbrick.name=Chiseled Stone Brick Monster Egg -tile.pistonBase.name=Piston -tile.pistonStickyBase.name=Sticky Piston -tile.fenceIron.name=Iron Bars -tile.melon.name=Melon -tile.stairsBrick.name=Brick Stairs -tile.stairsStoneBrickSmooth.name=Stone Brick Stairs -tile.vine.name=Vines -tile.netherBrick.name=Nether Brick -tile.netherFence.name=Nether Brick Fence -tile.stairsNetherBrick.name=Nether Brick Stairs -tile.netherStalk.name=Nether Wart -tile.enchantmentTable.name=Enchantment Table -tile.anvil.intact.name=Anvil -tile.anvil.slightlyDamaged.name=Slightly Damaged Anvil -tile.anvil.veryDamaged.name=Very Damaged Anvil -tile.whiteStone.name=End Stone -tile.endPortalFrame.name=End Portal -tile.mycel.name=Mycelium -tile.waterlily.name=Lily Pad -tile.dragonEgg.name=Dragon Egg -tile.redstoneLight.name=Redstone Lamp -tile.enderChest.name=Ender Chest -tile.oreEmerald.name=Emerald Ore -tile.blockEmerald.name=Block of Emerald -tile.blockRedstone.name=Block of Redstone -tile.tripWireSource.name=Tripwire Hook -tile.commandBlock.name=Command Block -tile.repeatingCommandBlock.name=Repeating Command Block -tile.chainCommandBlock.name=Chain Command Block -tile.beacon.name=Beacon -tile.cobbleWall.normal.name=Cobblestone Wall -tile.cobbleWall.mossy.name=Mossy Cobblestone Wall -tile.daylightDetector.name=Daylight Sensor -tile.netherquartz.name=Nether Quartz Ore -tile.hopper.name=Hopper -tile.quartzBlock.default.name=Block of Quartz -tile.quartzBlock.chiseled.name=Chiseled Quartz Block -tile.quartzBlock.lines.name=Pillar Quartz Block -tile.stairsQuartz.name=Quartz Stairs -tile.slime.name=Slime Block -tile.prismarine.rough.name=Prismarine -tile.prismarine.bricks.name=Prismarine Bricks -tile.prismarine.dark.name=Dark Prismarine -tile.seaLantern.name=Sea Lantern -tile.endRod.name=End Rod -tile.chorusPlant.name=Chorus Plant -tile.chorusFlower.name=Chorus Flower -tile.purpurBlock.name=Purpur Block -tile.purpurPillar.name=Purpur Pillar -tile.stairsPurpur.name=Purpur Stairs -tile.purpurSlab.name=Purpur Slab -tile.endBricks.name=End Stone Bricks -tile.grassPath.name=Grass Path -tile.magma.name=Magma Block -tile.netherWartBlock.name=Nether Wart Block -tile.redNetherBrick.name=Red Nether Brick -tile.boneBlock.name=Bone Block -tile.observer.name=Observer -tile.shulkerBoxWhite.name=White Shulker Box -tile.shulkerBoxOrange.name=Orange Shulker Box -tile.shulkerBoxMagenta.name=Magenta Shulker Box -tile.shulkerBoxLightBlue.name=Light Blue Shulker Box -tile.shulkerBoxYellow.name=Yellow Shulker Box -tile.shulkerBoxLime.name=Lime Shulker Box -tile.shulkerBoxPink.name=Pink Shulker Box -tile.shulkerBoxGray.name=Gray Shulker Box -tile.shulkerBoxSilver.name=Light Gray Shulker Box -tile.shulkerBoxCyan.name=Cyan Shulker Box -tile.shulkerBoxPurple.name=Purple Shulker Box -tile.shulkerBoxBlue.name=Blue Shulker Box -tile.shulkerBoxBrown.name=Brown Shulker Box -tile.shulkerBoxGreen.name=Green Shulker Box -tile.shulkerBoxRed.name=Red Shulker Box -tile.shulkerBoxBlack.name=Black Shulker Box -tile.glazedTerracottaWhite.name=White Glazed Terracotta -tile.glazedTerracottaOrange.name=Orange Glazed Terracotta -tile.glazedTerracottaMagenta.name=Magenta Glazed Terracotta -tile.glazedTerracottaLightBlue.name=Light Blue Glazed Terracotta -tile.glazedTerracottaYellow.name=Yellow Glazed Terracotta -tile.glazedTerracottaLime.name=Lime Glazed Terracotta -tile.glazedTerracottaPink.name=Pink Glazed Terracotta -tile.glazedTerracottaGray.name=Gray Glazed Terracotta -tile.glazedTerracottaSilver.name=Light Gray Glazed Terracotta -tile.glazedTerracottaCyan.name=Cyan Glazed Terracotta -tile.glazedTerracottaPurple.name=Purple Glazed Terracotta -tile.glazedTerracottaBlue.name=Blue Glazed Terracotta -tile.glazedTerracottaBrown.name=Brown Glazed Terracotta -tile.glazedTerracottaGreen.name=Green Glazed Terracotta -tile.glazedTerracottaRed.name=Red Glazed Terracotta -tile.glazedTerracottaBlack.name=Black Glazed Terracotta -tile.concrete.black.name=Black Concrete -tile.concrete.red.name=Red Concrete -tile.concrete.green.name=Green Concrete -tile.concrete.brown.name=Brown Concrete -tile.concrete.blue.name=Blue Concrete -tile.concrete.purple.name=Purple Concrete -tile.concrete.cyan.name=Cyan Concrete -tile.concrete.silver.name=Light Gray Concrete -tile.concrete.gray.name=Gray Concrete -tile.concrete.pink.name=Pink Concrete -tile.concrete.lime.name=Lime Concrete -tile.concrete.yellow.name=Yellow Concrete -tile.concrete.lightBlue.name=Light Blue Concrete -tile.concrete.magenta.name=Magenta Concrete -tile.concrete.orange.name=Orange Concrete -tile.concrete.white.name=White Concrete -tile.concretePowder.black.name=Black Concrete Powder -tile.concretePowder.red.name=Red Concrete Powder -tile.concretePowder.green.name=Green Concrete Powder -tile.concretePowder.brown.name=Brown Concrete Powder -tile.concretePowder.blue.name=Blue Concrete Powder -tile.concretePowder.purple.name=Purple Concrete Powder -tile.concretePowder.cyan.name=Cyan Concrete Powder -tile.concretePowder.silver.name=Light Gray Concrete Powder -tile.concretePowder.gray.name=Gray Concrete Powder -tile.concretePowder.pink.name=Pink Concrete Powder -tile.concretePowder.lime.name=Lime Concrete Powder -tile.concretePowder.yellow.name=Yellow Concrete Powder -tile.concretePowder.lightBlue.name=Light Blue Concrete Powder -tile.concretePowder.magenta.name=Magenta Concrete Powder -tile.concretePowder.orange.name=Orange Concrete Powder -tile.concretePowder.white.name=White Concrete Powder -tile.structureVoid.name=Structure Void -tile.structureBlock.name=Structure Block -item.nameTag.name=Name Tag -item.leash.name=Lead -item.shovelIron.name=Iron Shovel -item.pickaxeIron.name=Iron Pickaxe -item.hatchetIron.name=Iron Axe -item.flintAndSteel.name=Flint and Steel -item.apple.name=Apple -item.cookie.name=Cookie -item.bow.name=Bow -item.arrow.name=Arrow -item.spectral_arrow.name=Spectral Arrow -item.tipped_arrow.name=Tipped Arrow -item.coal.name=Coal -item.charcoal.name=Charcoal -item.diamond.name=Diamond -item.emerald.name=Emerald -item.ingotIron.name=Iron Ingot -item.ingotGold.name=Gold Ingot -item.swordIron.name=Iron Sword -item.swordWood.name=Wooden Sword -item.shovelWood.name=Wooden Shovel -item.pickaxeWood.name=Wooden Pickaxe -item.hatchetWood.name=Wooden Axe -item.swordStone.name=Stone Sword -item.shovelStone.name=Stone Shovel -item.pickaxeStone.name=Stone Pickaxe -item.hatchetStone.name=Stone Axe -item.swordDiamond.name=Diamond Sword -item.shovelDiamond.name=Diamond Shovel -item.pickaxeDiamond.name=Diamond Pickaxe -item.hatchetDiamond.name=Diamond Axe -item.stick.name=Stick -item.bowl.name=Bowl -item.mushroomStew.name=Mushroom Stew -item.swordGold.name=Golden Sword -item.shovelGold.name=Golden Shovel -item.pickaxeGold.name=Golden Pickaxe -item.hatchetGold.name=Golden Axe -item.string.name=String -item.feather.name=Feather -item.sulphur.name=Gunpowder -item.hoeWood.name=Wooden Hoe -item.hoeStone.name=Stone Hoe -item.hoeIron.name=Iron Hoe -item.hoeDiamond.name=Diamond Hoe -item.hoeGold.name=Golden Hoe -item.seeds.name=Seeds -item.seeds_pumpkin.name=Pumpkin Seeds -item.seeds_melon.name=Melon Seeds -item.melon.name=Melon -item.wheat.name=Wheat -item.bread.name=Bread -item.helmetCloth.name=Leather Cap -item.chestplateCloth.name=Leather Tunic -item.leggingsCloth.name=Leather Pants -item.bootsCloth.name=Leather Boots -item.helmetChain.name=Chain Helmet -item.chestplateChain.name=Chain Chestplate -item.leggingsChain.name=Chain Leggings -item.bootsChain.name=Chain Boots -item.helmetIron.name=Iron Helmet -item.chestplateIron.name=Iron Chestplate -item.leggingsIron.name=Iron Leggings -item.bootsIron.name=Iron Boots -item.helmetDiamond.name=Diamond Helmet -item.chestplateDiamond.name=Diamond Chestplate -item.leggingsDiamond.name=Diamond Leggings -item.bootsDiamond.name=Diamond Boots -item.helmetGold.name=Golden Helmet -item.chestplateGold.name=Golden Chestplate -item.leggingsGold.name=Golden Leggings -item.bootsGold.name=Golden Boots -item.flint.name=Flint -item.porkchopRaw.name=Raw Porkchop -item.porkchopCooked.name=Cooked Porkchop -item.chickenRaw.name=Raw Chicken -item.chickenCooked.name=Cooked Chicken -item.muttonRaw.name=Raw Mutton -item.muttonCooked.name=Cooked Mutton -item.rabbitRaw.name=Raw Rabbit -item.rabbitCooked.name=Cooked Rabbit -item.rabbitStew.name=Rabbit Stew -item.rabbitFoot.name=Rabbit's Foot -item.rabbitHide.name=Rabbit Hide -item.beefRaw.name=Raw Beef -item.beefCooked.name=Steak -item.painting.name=Painting -item.frame.name=Item Frame -item.appleGold.name=Golden Apple -item.sign.name=Sign -item.doorOak.name=Oak Door -item.doorSpruce.name=Spruce Door -item.doorBirch.name=Birch Door -item.doorJungle.name=Jungle Door -item.doorAcacia.name=Acacia Door -item.doorDarkOak.name=Dark Oak Door -item.bucket.name=Bucket -item.bucketWater.name=Water Bucket -item.bucketLava.name=Lava Bucket -item.minecart.name=Minecart -item.saddle.name=Saddle -item.doorIron.name=Iron Door -item.redstone.name=Redstone -item.snowball.name=Snowball -item.boat.oak.name=Oak Boat -item.boat.spruce.name=Spruce Boat -item.boat.birch.name=Birch Boat -item.boat.jungle.name=Jungle Boat -item.boat.acacia.name=Acacia Boat -item.boat.dark_oak.name=Dark Oak Boat -item.leather.name=Leather -item.milk.name=Milk -item.brick.name=Brick -item.clay.name=Clay -item.reeds.name=Sugar Canes -item.paper.name=Paper -item.book.name=Book -item.slimeball.name=Slimeball -item.minecartChest.name=Minecart with Chest -item.minecartFurnace.name=Minecart with Furnace -item.minecartTnt.name=Minecart with TNT -item.minecartHopper.name=Minecart with Hopper -item.minecartCommandBlock.name=Minecart with Command Block -item.egg.name=Egg -item.compass.name=Compass -item.fishingRod.name=Fishing Rod -item.clock.name=Clock -item.yellowDust.name=Glowstone Dust -item.fish.cod.raw.name=Raw Fish -item.fish.salmon.raw.name=Raw Salmon -item.fish.pufferfish.raw.name=Pufferfish -item.fish.clownfish.raw.name=Clownfish -item.fish.cod.cooked.name=Cooked Fish -item.fish.salmon.cooked.name=Cooked Salmon -item.record.name=Music Disc -item.record.13.desc=C418 - 13 -item.record.cat.desc=C418 - cat -item.record.blocks.desc=C418 - blocks -item.record.chirp.desc=C418 - chirp -item.record.far.desc=C418 - far -item.record.mall.desc=C418 - mall -item.record.mellohi.desc=C418 - mellohi -item.record.stal.desc=C418 - stal -item.record.strad.desc=C418 - strad -item.record.ward.desc=C418 - ward -item.record.11.desc=C418 - 11 -item.record.wait.desc=C418 - wait -item.bone.name=Bone -item.dyePowder.black.name=Ink Sac -item.dyePowder.red.name=Rose Red -item.dyePowder.green.name=Cactus Green -item.dyePowder.brown.name=Cocoa Beans -item.dyePowder.blue.name=Lapis Lazuli -item.dyePowder.purple.name=Purple Dye -item.dyePowder.cyan.name=Cyan Dye -item.dyePowder.silver.name=Light Gray Dye -item.dyePowder.gray.name=Gray Dye -item.dyePowder.pink.name=Pink Dye -item.dyePowder.lime.name=Lime Dye -item.dyePowder.yellow.name=Dandelion Yellow -item.dyePowder.lightBlue.name=Light Blue Dye -item.dyePowder.magenta.name=Magenta Dye -item.dyePowder.orange.name=Orange Dye -item.dyePowder.white.name=Bone Meal -item.sugar.name=Sugar -item.cake.name=Cake -item.bed.name=Bed -item.bed.black.name=Black Bed -item.bed.red.name=Red Bed -item.bed.green.name=Green Bed -item.bed.brown.name=Brown Bed -item.bed.blue.name=Blue Bed -item.bed.purple.name=Purple Bed -item.bed.cyan.name=Cyan Bed -item.bed.silver.name=Light Gray Bed -item.bed.gray.name=Gray Bed -item.bed.pink.name=Pink Bed -item.bed.lime.name=Lime Bed -item.bed.yellow.name=Yellow Bed -item.bed.lightBlue.name=Light Blue Bed -item.bed.magenta.name=Magenta Bed -item.bed.orange.name=Orange Bed -item.bed.white.name=White Bed -item.diode.name=Redstone Repeater -item.comparator.name=Redstone Comparator -item.map.name=Map -item.shears.name=Shears -item.rottenFlesh.name=Rotten Flesh -item.enderPearl.name=Ender Pearl -item.blazeRod.name=Blaze Rod -item.ghastTear.name=Ghast Tear -item.netherStalkSeeds.name=Nether Wart -item.potion.name=Potion -item.end_crystal.name=End Crystal -item.goldNugget.name=Gold Nugget -item.glassBottle.name=Glass Bottle -item.spiderEye.name=Spider Eye -item.fermentedSpiderEye.name=Fermented Spider Eye -item.blazePowder.name=Blaze Powder -item.magmaCream.name=Magma Cream -item.cauldron.name=Cauldron -item.brewingStand.name=Brewing Stand -item.eyeOfEnder.name=Eye of Ender -item.speckledMelon.name=Glistering Melon -item.monsterPlacer.name=Spawn -item.expBottle.name=Bottle o' Enchanting -item.fireball.name=Fire Charge -item.writingBook.name=Book and Quill -item.writtenBook.name=Written Book -item.flowerPot.name=Flower Pot -item.emptyMap.name=Empty Map -item.carrots.name=Carrot -item.carrotGolden.name=Golden Carrot -item.potato.name=Potato -item.potatoBaked.name=Baked Potato -item.potatoPoisonous.name=Poisonous Potato -item.skull.skeleton.name=Skeleton Skull -item.skull.wither.name=Wither Skeleton Skull -item.skull.zombie.name=Zombie Head -item.skull.char.name=Head -item.skull.creeper.name=Creeper Head -item.skull.dragon.name=Dragon Head -item.carrotOnAStick.name=Carrot on a Stick -item.netherStar.name=Nether Star -item.pumpkinPie.name=Pumpkin Pie -item.enchantedBook.name=Enchanted Book -item.fireworks.name=Firework Rocket -item.fireworksCharge.name=Firework Star -item.netherbrick.name=Nether Brick -item.netherquartz.name=Nether Quartz -item.armorStand.name=Armor Stand -item.horsearmormetal.name=Iron Horse Armor -item.horsearmorgold.name=Gold Horse Armor -item.horsearmordiamond.name=Diamond Horse Armor -item.prismarineShard.name=Prismarine Shard -item.prismarineCrystals.name=Prismarine Crystals -item.chorusFruit.name=Chorus Fruit -item.chorusFruitPopped.name=Popped Chorus Fruit -item.beetroot.name=Beetroot -item.beetroot_seeds.name=Beetroot Seeds -item.beetroot_soup.name=Beetroot Soup -item.dragon_breath.name=Dragon's Breath -item.elytra.name=Elytra -item.totem.name=Totem of Undying -item.shulkerShell.name=Shulker Shell -item.ironNugget.name=Iron Nugget -item.knowledgeBook.name=Knowledge Book -entity.Creeper.name=Creeper -entity.Skeleton.name=Skeleton -entity.WitherSkeleton.name=Wither Skeleton -entity.Stray.name=Stray -entity.Spider.name=Spider -entity.Zombie.name=Zombie -entity.Husk.name=Husk -entity.Slime.name=Slime -entity.Ghast.name=Ghast -entity.PigZombie.name=Zombie Pigman -entity.Enderman.name=Enderman -entity.Endermite.name=Endermite -entity.EntityHorse.name=Horse -entity.Silverfish.name=Silverfish -entity.CaveSpider.name=Cave Spider -entity.Blaze.name=Blaze -entity.LavaSlime.name=Magma Cube -entity.MushroomCow.name=Mooshroom -entity.Villager.name=Villager -entity.ZombieVillager.name=Zombie Villager -entity.Witch.name=Witch -entity.Guardian.name=Guardian -entity.ElderGuardian.name=Elder Guardian -entity.Shulker.name=Shulker -entity.PolarBear.name=Polar Bear -entity.EvocationIllager.name=Evoker -entity.Vex.name=Vex -entity.VindicationIllager.name=Vindicator -entity.Parrot.name=Parrot -entity.IllusionIllager.name=Illusioner -entity.Pig.name=Pig -entity.Sheep.name=Sheep -entity.Cow.name=Cow -entity.Chicken.name=Chicken -entity.Squid.name=Squid -entity.Wolf.name=Wolf -entity.Ozelot.name=Ocelot -entity.Bat.name=Bat -entity.Horse.name=Horse -entity.Donkey.name=Donkey -entity.Mule.name=Mule -entity.SkeletonHorse.name=Skeleton Horse -entity.ZombieHorse.name=Zombie Horse -entity.Rabbit.name=Rabbit -entity.Llama.name=Llama -effect.moveSpeed=Speed -effect.moveSlowdown=Slowness -effect.damageBoost=Strength -effect.heal=Instant Health -effect.harm=Instant Damage -effect.jump=Jump Boost -effect.regeneration=Regeneration -effect.fireResistance=Fire Resistance -effect.waterBreathing=Water Breathing -effect.invisibility=Invisibility -effect.nightVision=Night Vision -effect.weakness=Weakness -effect.poison=Poison -effect.luck=Luck -tipped_arrow.effect.empty=Uncraftable Tipped Arrow -tipped_arrow.effect.water=Tipped Arrow -tipped_arrow.effect.mundane=Tipped Arrow -tipped_arrow.effect.thick=Tipped Arrow -tipped_arrow.effect.awkward=Tipped Arrow -tipped_arrow.effect.night_vision=Arrow of Night Vision -tipped_arrow.effect.invisibility=Arrow of Invisibility -tipped_arrow.effect.leaping=Arrow of Leaping -tipped_arrow.effect.fire_resistance=Arrow of Fire Resistance -tipped_arrow.effect.swiftness=Arrow of Swiftness -tipped_arrow.effect.slowness=Arrow of Slowness -tipped_arrow.effect.water_breathing=Arrow of Water Breathing -tipped_arrow.effect.healing=Arrow of Healing -tipped_arrow.effect.harming=Arrow of Harming -tipped_arrow.effect.poison=Arrow of Poison -tipped_arrow.effect.regeneration=Arrow of Regeneration -tipped_arrow.effect.strength=Arrow of Strength -tipped_arrow.effect.weakness=Arrow of Weakness -tipped_arrow.effect.luck=Arrow of Luck -potion.effect.empty=Uncraftable Potion -potion.effect.water=Water Bottle -potion.effect.mundane=Mundane Potion -potion.effect.thick=Thick Potion -potion.effect.awkward=Awkward Potion -potion.effect.night_vision=Potion of Night Vision -potion.effect.invisibility=Potion of Invisibility -potion.effect.leaping=Potion of Leaping -potion.effect.fire_resistance=Potion of Fire Resistance -potion.effect.swiftness=Potion of Swiftness -potion.effect.slowness=Potion of Slowness -potion.effect.water_breathing=Potion of Water Breathing -potion.effect.healing=Potion of Healing -potion.effect.harming=Potion of Harming -potion.effect.poison=Potion of Poison -potion.effect.regeneration=Potion of Regeneration -potion.effect.strength=Potion of Strength -potion.effect.weakness=Potion of Weakness -potion.effect.luck=Potion of Luck -splash_potion.effect.empty=Splash Uncraftable Potion -splash_potion.effect.water=Splash Water Bottle -splash_potion.effect.mundane=Mundane Splash Potion -splash_potion.effect.thick=Thick Splash Potion -splash_potion.effect.awkward=Awkward Splash Potion -splash_potion.effect.night_vision=Splash Potion of Night Vision -splash_potion.effect.invisibility=Splash Potion of Invisibility -splash_potion.effect.leaping=Splash Potion of Leaping -splash_potion.effect.fire_resistance=Splash Potion of Fire Resistance -splash_potion.effect.swiftness=Splash Potion of Swiftness -splash_potion.effect.slowness=Splash Potion of Slowness -splash_potion.effect.water_breathing=Splash Potion of Water Breathing -splash_potion.effect.healing=Splash Potion of Healing -splash_potion.effect.harming=Splash Potion of Harming -splash_potion.effect.poison=Splash Potion of Poison -splash_potion.effect.regeneration=Splash Potion of Regeneration -splash_potion.effect.strength=Splash Potion of Strength -splash_potion.effect.weakness=Splash Potion of Weakness -splash_potion.effect.luck=Splash Potion of Luck -lingering_potion.effect.empty=Lingering Uncraftable Potion -lingering_potion.effect.water=Lingering Water Bottle -lingering_potion.effect.mundane=Mundane Lingering Potion -lingering_potion.effect.thick=Thick Lingering Potion -lingering_potion.effect.awkward=Awkward Lingering Potion -lingering_potion.effect.night_vision=Lingering Potion of Night Vision -lingering_potion.effect.invisibility=Lingering Potion of Invisibility -lingering_potion.effect.leaping=Lingering Potion of Leaping -lingering_potion.effect.fire_resistance=Lingering Potion of Fire Resistance -lingering_potion.effect.swiftness=Lingering Potion of Swiftness -lingering_potion.effect.slowness=Lingering Potion of Slowness -lingering_potion.effect.water_breathing=Lingering Potion of Water Breathing -lingering_potion.effect.healing=Lingering Potion of Healing -lingering_potion.effect.harming=Lingering Potion of Harming -lingering_potion.effect.poison=Lingering Potion of Poison -lingering_potion.effect.regeneration=Lingering Potion of Regeneration -lingering_potion.effect.strength=Lingering Potion of Strength -lingering_potion.effect.weakness=Lingering Potion of Weakness -lingering_potion.effect.luck=Lingering Potion of Luck -enchantment.damage.all=Sharpness -enchantment.damage.undead=Smite -enchantment.damage.arthropods=Bane of Arthropods -enchantment.knockback=Knockback -enchantment.fire=Fire Aspect -enchantment.sweeping=Sweeping Edge -enchantment.protect.all=Protection -enchantment.protect.fire=Fire Protection -enchantment.protect.fall=Feather Falling -enchantment.protect.explosion=Blast Protection -enchantment.protect.projectile=Projectile Protection -enchantment.oxygen=Respiration -enchantment.waterWorker=Aqua Affinity -enchantment.waterWalker=Depth Strider -enchantment.frostWalker=Frost Walker -enchantment.digging=Efficiency -enchantment.untouching=Silk Touch -enchantment.durability=Unbreaking -enchantment.lootBonus=Looting -enchantment.lootBonusDigger=Fortune -enchantment.lootBonusFishing=Luck of the Sea -enchantment.fishingSpeed=Lure -enchantment.arrowDamage=Power -enchantment.arrowFire=Flame -enchantment.arrowKnockback=Punch -enchantment.arrowInfinite=Infinity -enchantment.thorns=Thorns -enchantment.mending=Mending -enchantment.binding_curse=Curse of Binding -enchantment.vanishing_curse=Curse of Vanishing -enchantment.level.1=I -enchantment.level.2=II -enchantment.level.3=III -enchantment.level.4=IV -enchantment.level.5=V -enchantment.level.6=VI -enchantment.level.7=VII -enchantment.level.8=VIII -enchantment.level.9=IX -enchantment.level.10=X -item.banner.black.name=Black Banner -item.banner.red.name=Red Banner -item.banner.green.name=Green Banner -item.banner.brown.name=Brown Banner -item.banner.blue.name=Blue Banner -item.banner.purple.name=Purple Banner -item.banner.cyan.name=Cyan Banner -item.banner.silver.name=Light Gray Banner -item.banner.gray.name=Gray Banner -item.banner.pink.name=Pink Banner -item.banner.lime.name=Lime Banner -item.banner.yellow.name=Yellow Banner -item.banner.lightBlue.name=Light Blue Banner -item.banner.magenta.name=Magenta Banner -item.banner.orange.name=Orange Banner -item.banner.white.name=White Banner -item.shield.name=Shield \ No newline at end of file diff --git a/implementation/src/main/resources/lang/en_US.lang b/implementation/src/main/resources/lang/en_US.lang deleted file mode 100644 index f1b0c5f..0000000 --- a/implementation/src/main/resources/lang/en_US.lang +++ /dev/null @@ -1,1455 +0,0 @@ -# Set the message when a shop is created at the clicked chest. -# Usable Placeholders: %CREATION-PRICE% -message.shop-created=&6You were withdrawn &c%CREATION-PRICE% &6to create this shop. - -# Set the message when an admin shop is created at the clicked chest. -# Usable Placeholders: %CREATION-PRICE% -message.admin-shop-created=&6You were withdrawn &c%CREATION-PRICE% &6to create this admin shop. - -# Set the message when the clicked chest already is a shop. -message.chest-already-shop=&cChest already is shop. - -# Set the message when there is a block above the clicked chest. -message.chest-blocked=&cThere must not be a block above the chest. - -# Set the message when a player tries to place a chest next to a shop's chest -# to create a double chest shop, but there is a block above the placed chest. -message.double-chest-blocked=&cThere must not be a block above the chest. - -# Set the message when the clicked shop is removed but no refund was given. -message.shop-removed=&6Shop removed. - -# Set the message when the clicked shop is removed and the player is refunded -# the creation price. -# Usable Placeholders: %CREATION-PRICE% -message.shop-removed-refund=&6Shop removed. You were refunded &c%CREATION-PRICE%&6. - -# Set the message when all shops of a player were removed. -# Usable Placeholders: %AMOUNT%, %VENDOR% -message.all-shops-removed=&6Removed all (&c%AMOUNT%&6) shops of &c%VENDOR%&6. - -# Set the message when the clicked chest is not a shop. -message.chest-no-shop=&cChest is not a shop. - -# Set the message when the player doesn't have enough money to create a shop -# Usable Placeholders: %CREATION-PRICE% -message.shop-create-not-enough-money=&cNot enough money. You need &6%CREATION-PRICE% &cto create a shop. - -# Set the vendor message the player gets after entering '/shop info'. -# Usable Placeholders: %VENDOR% -message.shopInfo.vendor=&6Vendor: &e%VENDOR% - -# Set the product message the player gets after entering '/shop info'. -# Usable Placeholders: %AMOUNT%, %ITEMNAME% -message.shopInfo.product=&6Product: &e%AMOUNT% x %ITEMNAME% - -# Set the in-stock message the player after entering '/shop info'. -# Usable Placeholders=%STOCK% -message.shopInfo.stock=&6In Stock: &e%STOCK% - -# Set the chest-space message the player after entering '/shop info'. -# Usable Placeholders=%CHEST-SPACE% -message.shopInfo.chest-space=&6Space in chest: &e%CHEST-SPACE% - -# Set the price message the player gets after entering '/shop info'. -# Usable Placeholders: %BUY-PRICE%, %SELL-PRICE% -message.shopInfo.price=&6Price: Buy: &e%BUY-PRICE%&6 Sell: &e%SELL-PRICE% - -# If the sell price or buy price is disabled, this message will be displayed instead of the price in the message above. -message.shopInfo.disabled=&7Disabled - -# Set the type message the player gets after entering '/shop info' ... -# ... when the shop is normal. -message.shopInfo.is-normal=&6Type: &eNormal - -# ... when the shop is an admin shop. -message.shopInfo.is-admin=&6Type: &eAdmin - -# Set the message when the player tries to create a shop with sell price and buy price set to 0 -message.buy-and-sell-disabled=&cYou can't create a shop with buying and selling disabled. - -# Set the message when the player successfully bought something. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %VENDOR% -message.buy-success=&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from &6%VENDOR%&a. - -# Set the message when the player successfully bought something from an admin shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE% -message.buy-success-admin=&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a. - -# Set the message when the player successfully sold something. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %VENDOR% -message.sell-success=&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to &6%VENDOR%&a. - -# Set the message when the player successfully sold something to an admin shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE% -message.sell-success-admin=&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a. - -# Set the message when a player bought something from the player's shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %PLAYER% -message.someone-bought=&6%PLAYER% &abought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a from your shop. - -# Set the message when a player sold something to the player's shop. -# Usable Placeholders: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %PLAYER% -message.someone-sold=&6%PLAYER% &asold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to your shop. - -# Set the message when a player joins and made a revenue while he was offline. -# Usable Placeholders: %REVENUE% -message.revenue-while-offline=&6While you were offline, your shops have made a revenue of &c%REVENUE%&6. - -# Set the message when the inventory is full when the player is buying something. -message.not-enough-inventory-space=&cNot enough space in inventory. - -# Set the message when the shop's inventory is full when the player is selling something. -message.chest-not-enough-inventory-space=&cShop is full. - -# Set the message when the player doesn't have enough money to buy something. -message.not-enough-money=&cNot enough money. - -# Set the message when the player doesn't have enough items to sell. -message.not-enough-items=&cNot enough items. - -# Set the message when the vendor doesn't have enough money to buy something from the player -message.vendor-not-enough-money=&cVendor has not enough money. - -# Set the message when the shop is out of stock. -message.out-of-stock=&cShop out of stock. - -# Set the message the vendor gets when his shop is out of stock -# Usable Placeholders: %AMOUNT%, %ITEMNAME% -message.vendor-out-of-stock=&cYour shop that sells &6%AMOUNT% x %ITEMNAME% &cis out of stock. - -# Set the message when an error occurred. -# Usable Placeholders: %ERROR% -message.error-occurred=&cAn error occurred: %ERROR% - -# Set the message when the arguments , and/or of '/shop create' are not a number. -message.amount-and-price-not-number=&cAmount and prices must be numbers. - -# Set the message when the argument is zero -message.amount-is-zero=&cAmount must be greater than 0. - -# Set the message when the config value "allow-decimals-in-prices" is set to false -# and a player enters a price with decimals -message.prices-contain-decimals=&cPrices must not contain decimals. - -# Set the message when the player doesn't hold an item in the hand. -message.no-item-in-hand=&cNo item in hand - -# Set the message when the player must click a chest to create a shop. -message.click-chest-to-create-shop=&aClick a chest within 15 seconds to create a shop. - -# Set the message when the player must click a shop to remove it. -message.click-chest-to-remove-shop=&aClick a shop within 15 seconds to remove it. - -# Set the message when the player must click a shop to retrieve information. -message.click-chest-for-info=&aClick a shop within 15 seconds to retrieve information. - -# Set the message when the player must click a shop to open it. -message.click-chest-to-open-shop=&aClick a shop within 15 seconds to open it. - -# Set the message when the player must click the shop again to confirm the buy/sell. -message.click-to-confirm=&aClick again to confirm. - -# Set the message when the player opened a shop. -# Usable Placeholders: %VENDOR% -message.opened-shop=&aYou opened %VENDOR%'s shop. - -# Set the message when the player tries to break a shop. -message.cannot-break-shop=&cYou can't break a shop. - -# Set the message when the player tries to sell a broken item. -message.cannot-sell-broken-item=&cYou can't sell a broken item. - -# Set the message when the entered buy price is below the minimum price. -# Usable Placeholders: %MIN-PRICE% -message.buy-price-too-low=&cThe buy price must be higher than %MIN-PRICE%. - -# Set the message when the entered sell price is below the minimum price. -# Usable Placeholders: %MIN-PRICE% -message.sell-price-too-low=&cThe sell price must be higher than %MIN-PRICE%. - -# Set the message when the entered buy price is below the maximum price. -# Usable Placeholders: %MAX-PRICE% -message.buy-price-too-high=&cThe buy price must be lower than %MAX-PRICE%. - -# Set the message when the entered sell price is below the maximum price. -# Usable Placeholders: %MAX-PRICE% -message.sell-price-too-high=&cThe sell price must be lower than %MAX-PRICE%. - -# Set the message when buying is disabled at the shop. -message.buying-disabled=&cBuying is disabled at this shop. - -# Set the message when selling is disabled at the shop. -message.selling-disabled=&cSelling is disabled at this shop. - -# Set the message when reloading is done. -# Usable Placeholders: %AMOUNT% (Amount of shops) -message.reloaded-shops=&aSuccessfully reloaded %AMOUNT% shop/s. - -# Set the message when the player's shop limit is reached. -# Usable Placeholders: %LIMIT% -message.shop-limit-reached=&cYou reached your limit of &6%LIMIT% &cshop/s. - -# Set the message that shows the player how many shop slots of his shop limit he has occupied. -# Usable Placeholders: %LIMIT%, %AMOUNT% (Amount of shops) -message.occupied-shop-slots=&6You have &c%AMOUNT%/%LIMIT% &6shop slot/s occupied. - -# Set the message when the player tries to create a shop with an item which is listed in the blacklist. -message.cannot-sell-item=&cYou cannot create a shop with this item. - -# Set the message when the player tries to use a shop in creative mode. -message.use-in-creative=&cYou cannot use a shop in creative mode. - -# Set the message when the player has to select an item from the creative menu. -message.select-item=&aOpen your inventory, and drop an item to select it. - -# Set the message when the player has selected an item from the creative menu. -# Usable Placeholders: %ITEMNAME% -message.item-selected=&aItem has been selected: &6%ITEMNAME% - -# Set the message when the player closes the creative menu to select an item. -message.creation-cancelled=&cShop creation has been cancelled. - -# Set the message when an update is available. -# Usable Placeholders: %VERSION% -message.update.update-available=&6&lVersion &c&l%VERSION% &6&lof &c&lShopChest &6&lis available &c&lhere. - -# Set the message you get when hovering over the available message. -message.update.click-to-download=Click to download - -# Set the message when no update is available. -message.update.no-update=&6&lNo new update available. - -# Set the message when the update checker is started. -message.update.checking=&6&lChecking for updates... - -# Set the message when an error occurs while checking for updates. -message.update.error=&c&lError while checking for updates. - -# Set the message when a not permitted player tries to create a shop. -message.noPermission.create=&cYou don't have permission to create a shop. - -# Set the message when a not permitted player tries to create an admin shop. -message.noPermission.create-admin=&cYou don't have permission to create an admin shop. - -# Set the message when a not permitted player tries to create a shop on a protected chest. -message.noPermission.create-protected=&cYou don't have permission to create a shop here. - -# Set the message when a not permitted player tries to open another player's shop. -message.noPermission.open-others=&cYou don't have permission to open this chest. - -# Set the message when a not permitted player tries to buy something. -message.noPermission.buy=&cYou don't have permission to buy something. - -# Set the message when a not permitted player tries to sell something. -message.noPermission.sell=&cYou don't have permission to sell something. - -# Set the message when a player tries to buy something in a region/plot that denied shop use. -message.noPermission.buy-here=&cYou don't have permission to buy something here. - -# Set the message when a player tries to sell something in a region/plot region that denied shop use. -message.noPermission.sell-here=&cYou don't have permission to sell something here. - -# Set the message when a not permitted player tries to remove another player's shop. -message.noPermission.remove-others=&cYou don't have permission to remove this shop. - -# Set the message when a not permitted player tries to remove an admin shop. -message.noPermission.remove-admin=&cYou don't have permission to remove an admin shop. - -# Set the message when a not permitted player tries to reload the shops. -message.noPermission.reload=&cYou don't have permission to reload the shops. - -# Set the message when a not permitted player tries to check for updates. -message.noPermission.update=&cYou don't have permission to check for updates. - -# Set the message when a not permitted player tries to change configuration values. -message.noPermission.config=&cYou don't have permission to change configuration values. - -# Set the message when a not permitted player tries to extend another player's shop's chest. -message.noPermission.extend-others=&cYou don't have permission to extend this chest. - -# Set the message when a not permitted player tries to extend a chest into a protected region/plot (e.g. WorldGuard/Towny). -message.noPermission.extend-protected=&cYou don't have permission to extend this chest to here. - -# Set the header of the help message the player gets after entering '/shop' or an invalid command. -# Usable Placeholders: %COMMAND% -message.commandDescription.header=&6==== &c/%COMMAND% &6Help - -# Set the footer of the help message the player gets after entering '/shop' or an invalid command. -# Usable Placeholders: %COMMAND% -message.commandDescription.footer=&6==== End - -# Set the command description message for '/shop create' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.create=&a/%COMMAND% create - Create a shop. - -# Set the command description message for '/shop create' when you type '/shop' and have permission "shopchest.create.admin" -# Usable Placeholders: %COMMAND% -message.commandDescription.create-admin=&a/%COMMAND% create [normal|admin] - Create a shop. - -# Set the command description message for '/shop remove' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.remove=&a/%COMMAND% remove - Remove a shop. - -# Set the command description message for '/shop info' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.info=&a/%COMMAND% info - Retrieve shop information. - -# Set the command description message for '/shop removeall' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.removeall=&a/%COMMAND% removeall - Remove all shops of a player. - -# Set the command description message for '/shop reload' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.reload=&a/%COMMAND% reload - Reload shops. - -# Set the command description message for '/shop update' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.update=&a/%COMMAND% update - Check for Updates. - -# Set the command description message for '/shop limits' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.limits=&a/%COMMAND% limits - View shop limits. - -# Set the command description message for '/shop open' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.open=&a/%COMMAND% open - Open a shop. - -# Set the command description message for '/shop config' when you type '/shop'. -# Usable Placeholders: %COMMAND% -message.commandDescription.config=&a/%COMMAND% config - Change configuration values. - -# Set the message a player gets after setting a configuration value per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.set=&6Changed &a%PROPERTY% &6to &a%VALUE%&6. - -# Set the message a player gets after adding a value to a list in the configuration per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.added=&6Added &a%VALUE% &6to &a%PROPERTY%&6. - -# Set the message a player gets after removing a value from a list in the configuration per command -# Usable Placeholders: %PROPERTY%, %VALUE% -message.config.removed=&6Removed &a%VALUE% &6from &a%PROPERTY%&6. - -book.generation.0=Original -book.generation.1=Copy of original -book.generation.2=Copy of a copy -book.generation.3=Tattered -block.minecraft.air=Air -block.minecraft.barrier=Barrier -block.minecraft.stone=Stone -block.minecraft.granite=Granite -block.minecraft.polished_granite=Polished Granite -block.minecraft.diorite=Diorite -block.minecraft.polished_diorite=Polished Diorite -block.minecraft.andesite=Andesite -block.minecraft.polished_andesite=Polished Andesite -block.minecraft.hay_block=Hay Bale -block.minecraft.grass_block=Grass Block -block.minecraft.dirt=Dirt -block.minecraft.coarse_dirt=Coarse Dirt -block.minecraft.podzol=Podzol -block.minecraft.cobblestone=Cobblestone -block.minecraft.oak_planks=Oak Planks -block.minecraft.spruce_planks=Spruce Planks -block.minecraft.birch_planks=Birch Planks -block.minecraft.jungle_planks=Jungle Planks -block.minecraft.acacia_planks=Acacia Planks -block.minecraft.dark_oak_planks=Dark Oak Planks -block.minecraft.oak_sapling=Oak Sapling -block.minecraft.spruce_sapling=Spruce Sapling -block.minecraft.birch_sapling=Birch Sapling -block.minecraft.jungle_sapling=Jungle Sapling -block.minecraft.acacia_sapling=Acacia Sapling -block.minecraft.dark_oak_sapling=Dark Oak Sapling -block.minecraft.oak_door=Oak Door -block.minecraft.spruce_door=Spruce Door -block.minecraft.birch_door=Birch Door -block.minecraft.jungle_door=Jungle Door -block.minecraft.acacia_door=Acacia Door -block.minecraft.dark_oak_door=Dark Oak Door -block.minecraft.bedrock=Bedrock -block.minecraft.water=Water -block.minecraft.lava=Lava -block.minecraft.sand=Sand -block.minecraft.red_sand=Red Sand -block.minecraft.sandstone=Sandstone -block.minecraft.chiseled_sandstone=Chiseled Sandstone -block.minecraft.cut_sandstone=Cut Sandstone -block.minecraft.red_sandstone=Red Sandstone -block.minecraft.chiseled_red_sandstone=Chiseled Red Sandstone -block.minecraft.cut_red_sandstone=Cut Red Sandstone -block.minecraft.gravel=Gravel -block.minecraft.gold_ore=Gold Ore -block.minecraft.iron_ore=Iron Ore -block.minecraft.coal_ore=Coal Ore -block.minecraft.oak_wood=Oak Wood -block.minecraft.spruce_wood=Spruce Wood -block.minecraft.birch_wood=Birch Wood -block.minecraft.jungle_wood=Jungle Wood -block.minecraft.acacia_wood=Acacia Wood -block.minecraft.dark_oak_wood=Dark Oak Wood -block.minecraft.oak_log=Oak Log -block.minecraft.spruce_log=Spruce Log -block.minecraft.birch_log=Birch Log -block.minecraft.jungle_log=Jungle Log -block.minecraft.acacia_log=Acacia Log -block.minecraft.dark_oak_log=Dark Oak Log -block.minecraft.stripped_oak_log=Stripped Oak Log -block.minecraft.stripped_spruce_log=Stripped Spruce Log -block.minecraft.stripped_birch_log=Stripped Birch Log -block.minecraft.stripped_jungle_log=Stripped Jungle Log -block.minecraft.stripped_acacia_log=Stripped Acacia Log -block.minecraft.stripped_dark_oak_log=Stripped Dark Oak Log -block.minecraft.stripped_oak_wood=Stripped Oak Wood -block.minecraft.stripped_spruce_wood=Stripped Spruce Wood -block.minecraft.stripped_birch_wood=Stripped Birch Wood -block.minecraft.stripped_jungle_wood=Stripped Jungle Wood -block.minecraft.stripped_acacia_wood=Stripped Acacia Wood -block.minecraft.stripped_dark_oak_wood=Stripped Dark Oak Wood -block.minecraft.oak_leaves=Oak Leaves -block.minecraft.spruce_leaves=Spruce Leaves -block.minecraft.birch_leaves=Birch Leaves -block.minecraft.jungle_leaves=Jungle Leaves -block.minecraft.acacia_leaves=Acacia Leaves -block.minecraft.dark_oak_leaves=Dark Oak Leaves -block.minecraft.dead_bush=Dead Bush -block.minecraft.grass=Grass -block.minecraft.fern=Fern -block.minecraft.sponge=Sponge -block.minecraft.wet_sponge=Wet Sponge -block.minecraft.glass=Glass -block.minecraft.kelp_plant=Kelp Plant -block.minecraft.kelp=Kelp -block.minecraft.dried_kelp_block=Dried Kelp Block -block.minecraft.white_stained_glass=White Stained Glass -block.minecraft.orange_stained_glass=Orange Stained Glass -block.minecraft.magenta_stained_glass=Magenta Stained Glass -block.minecraft.light_blue_stained_glass=Light Blue Stained Glass -block.minecraft.yellow_stained_glass=Yellow Stained Glass -block.minecraft.lime_stained_glass=Lime Stained Glass -block.minecraft.pink_stained_glass=Pink Stained Glass -block.minecraft.gray_stained_glass=Gray Stained Glass -block.minecraft.light_gray_stained_glass=Light Gray Stained Glass -block.minecraft.cyan_stained_glass=Cyan Stained Glass -block.minecraft.purple_stained_glass=Purple Stained Glass -block.minecraft.blue_stained_glass=Blue Stained Glass -block.minecraft.brown_stained_glass=Brown Stained Glass -block.minecraft.green_stained_glass=Green Stained Glass -block.minecraft.red_stained_glass=Red Stained Glass -block.minecraft.black_stained_glass=Black Stained Glass -block.minecraft.white_stained_glass_pane=White Stained Glass Pane -block.minecraft.orange_stained_glass_pane=Orange Stained Glass Pane -block.minecraft.magenta_stained_glass_pane=Magenta Stained Glass Pane -block.minecraft.light_blue_stained_glass_pane=Light Blue Stained Glass Pane -block.minecraft.yellow_stained_glass_pane=Yellow Stained Glass Pane -block.minecraft.lime_stained_glass_pane=Lime Stained Glass Pane -block.minecraft.pink_stained_glass_pane=Pink Stained Glass Pane -block.minecraft.gray_stained_glass_pane=Gray Stained Glass Pane -block.minecraft.light_gray_stained_glass_pane=Light Gray Stained Glass Pane -block.minecraft.cyan_stained_glass_pane=Cyan Stained Glass Pane -block.minecraft.purple_stained_glass_pane=Purple Stained Glass Pane -block.minecraft.blue_stained_glass_pane=Blue Stained Glass Pane -block.minecraft.brown_stained_glass_pane=Brown Stained Glass Pane -block.minecraft.green_stained_glass_pane=Green Stained Glass Pane -block.minecraft.red_stained_glass_pane=Red Stained Glass Pane -block.minecraft.black_stained_glass_pane=Black Stained Glass Pane -block.minecraft.glass_pane=Glass Pane -block.minecraft.dandelion=Dandelion -block.minecraft.poppy=Poppy -block.minecraft.blue_orchid=Blue Orchid -block.minecraft.allium=Allium -block.minecraft.azure_bluet=Azure Bluet -block.minecraft.red_tulip=Red Tulip -block.minecraft.orange_tulip=Orange Tulip -block.minecraft.white_tulip=White Tulip -block.minecraft.pink_tulip=Pink Tulip -block.minecraft.oxeye_daisy=Oxeye Daisy -block.minecraft.cornflower=Cornflower -block.minecraft.lily_of_the_valley=Lily of the Valley -block.minecraft.wither_rose=Wither Rose -block.minecraft.sunflower=Sunflower -block.minecraft.lilac=Lilac -block.minecraft.tall_grass=Tall Grass -block.minecraft.tall_seagrass=Tall Seagrass -block.minecraft.large_fern=Large Fern -block.minecraft.rose_bush=Rose Bush -block.minecraft.peony=Peony -block.minecraft.seagrass=Seagrass -block.minecraft.sea_pickle=Sea Pickle -block.minecraft.brown_mushroom=Brown Mushroom -block.minecraft.red_mushroom_block=Red Mushroom Block -block.minecraft.brown_mushroom_block=Brown Mushroom Block -block.minecraft.mushroom_stem=Mushroom Stem -block.minecraft.gold_block=Block of Gold -block.minecraft.iron_block=Block of Iron -block.minecraft.smooth_stone=Smooth Stone -block.minecraft.smooth_sandstone=Smooth Sandstone -block.minecraft.smooth_red_sandstone=Smooth Red Sandstone -block.minecraft.smooth_quartz=Smooth Quartz -block.minecraft.stone_slab=Stone Slab -block.minecraft.smooth_stone_slab=Smooth Stone Slab -block.minecraft.sandstone_slab=Sandstone Slab -block.minecraft.red_sandstone_slab=Red Sandstone Slab -block.minecraft.cut_sandstone_slab=Cut Sandstone Slab -block.minecraft.cut_red_sandstone_slab=Cut Red Sandstone Slab -block.minecraft.petrified_oak_slab=Petrified Oak Slab -block.minecraft.cobblestone_slab=Cobblestone Slab -block.minecraft.brick_slab=Brick Slab -block.minecraft.stone_brick_slab=Stone Brick Slab -block.minecraft.nether_brick_slab=Nether Brick Slab -block.minecraft.quartz_slab=Quartz Slab -block.minecraft.oak_slab=Oak Slab -block.minecraft.spruce_slab=Spruce Slab -block.minecraft.birch_slab=Birch Slab -block.minecraft.jungle_slab=Jungle Slab -block.minecraft.acacia_slab=Acacia Slab -block.minecraft.dark_oak_slab=Dark Oak Slab -block.minecraft.dark_prismarine_slab=Dark Prismarine Slab -block.minecraft.prismarine_slab=Prismarine Slab -block.minecraft.prismarine_brick_slab=Prismarine Brick Slab -block.minecraft.bricks=Bricks -block.minecraft.tnt=TNT -block.minecraft.bookshelf=Bookshelf -block.minecraft.mossy_cobblestone=Mossy Cobblestone -block.minecraft.obsidian=Obsidian -block.minecraft.torch=Torch -block.minecraft.wall_torch=Wall Torch -block.minecraft.fire=Fire -block.minecraft.spawner=Spawner -block.minecraft.oak_stairs=Oak Stairs -block.minecraft.spruce_stairs=Spruce Stairs -block.minecraft.birch_stairs=Birch Stairs -block.minecraft.jungle_stairs=Jungle Stairs -block.minecraft.acacia_stairs=Acacia Stairs -block.minecraft.dark_oak_stairs=Dark Oak Stairs -block.minecraft.dark_prismarine_stairs=Dark Prismarine Stairs -block.minecraft.prismarine_stairs=Prismarine Stairs -block.minecraft.prismarine_brick_stairs=Prismarine Brick Stairs -block.minecraft.chest=Chest -block.minecraft.trapped_chest=Trapped Chest -block.minecraft.redstone_wire=Redstone Wire -block.minecraft.diamond_ore=Diamond Ore -block.minecraft.coal_block=Block of Coal -block.minecraft.diamond_block=Block of Diamond -block.minecraft.crafting_table=Crafting Table -block.minecraft.wheat=Wheat Crops -block.minecraft.farmland=Farmland -block.minecraft.furnace=Furnace -block.minecraft.wall_sign=Wall Sign -block.minecraft.oak_sign=Oak Sign -block.minecraft.spruce_sign=Spruce Sign -block.minecraft.birch_sign=Birch Sign -block.minecraft.acacia_sign=Acacia Sign -block.minecraft.jungle_sign=Jungle Sign -block.minecraft.dark_oak_sign=Dark Oak Sign -block.minecraft.oak_wall_sign=Oak Wall Sign -block.minecraft.spruce_wall_sign=Spruce Wall Sign -block.minecraft.birch_wall_sign=Birch Wall Sign -block.minecraft.acacia_wall_sign=Acacia Wall Sign -block.minecraft.jungle_wall_sign=Jungle Wall Sign -block.minecraft.dark_oak_wall_sign=Dark Oak Wall Sign -block.minecraft.ladder=Ladder -block.minecraft.scaffolding=Scaffolding -block.minecraft.rail=Rail -block.minecraft.powered_rail=Powered Rail -block.minecraft.activator_rail=Activator Rail -block.minecraft.detector_rail=Detector Rail -block.minecraft.cobblestone_stairs=Cobblestone Stairs -block.minecraft.sandstone_stairs=Sandstone Stairs -block.minecraft.red_sandstone_stairs=Red Sandstone Stairs -block.minecraft.lever=Lever -block.minecraft.stone_pressure_plate=Stone Pressure Plate -block.minecraft.oak_pressure_plate=Oak Pressure Plate -block.minecraft.spruce_pressure_plate=Spruce Pressure Plate -block.minecraft.birch_pressure_plate=Birch Pressure Plate -block.minecraft.jungle_pressure_plate=Jungle Pressure Plate -block.minecraft.acacia_pressure_plate=Acacia Pressure Plate -block.minecraft.dark_oak_pressure_plate=Dark Oak Pressure Plate -block.minecraft.light_weighted_pressure_plate=Light Weighted Pressure Plate -block.minecraft.heavy_weighted_pressure_plate=Heavy Weighted Pressure Plate -block.minecraft.iron_door=Iron Door -block.minecraft.redstone_ore=Redstone Ore -block.minecraft.redstone_torch=Redstone Torch -block.minecraft.redstone_wall_torch=Redstone Wall Torch -block.minecraft.stone_button=Stone Button -block.minecraft.oak_button=Oak Button -block.minecraft.spruce_button=Spruce Button -block.minecraft.birch_button=Birch Button -block.minecraft.jungle_button=Jungle Button -block.minecraft.acacia_button=Acacia Button -block.minecraft.dark_oak_button=Dark Oak Button -block.minecraft.snow=Snow -block.minecraft.white_carpet=White Carpet -block.minecraft.orange_carpet=Orange Carpet -block.minecraft.magenta_carpet=Magenta Carpet -block.minecraft.light_blue_carpet=Light Blue Carpet -block.minecraft.yellow_carpet=Yellow Carpet -block.minecraft.lime_carpet=Lime Carpet -block.minecraft.pink_carpet=Pink Carpet -block.minecraft.gray_carpet=Gray Carpet -block.minecraft.light_gray_carpet=Light Gray Carpet -block.minecraft.cyan_carpet=Cyan Carpet -block.minecraft.purple_carpet=Purple Carpet -block.minecraft.blue_carpet=Blue Carpet -block.minecraft.brown_carpet=Brown Carpet -block.minecraft.green_carpet=Green Carpet -block.minecraft.red_carpet=Red Carpet -block.minecraft.black_carpet=Black Carpet -block.minecraft.ice=Ice -block.minecraft.frosted_ice=Frosted Ice -block.minecraft.packed_ice=Packed Ice -block.minecraft.blue_ice=Blue Ice -block.minecraft.cactus=Cactus -block.minecraft.clay=Clay -block.minecraft.white_terracotta=White Terracotta -block.minecraft.orange_terracotta=Orange Terracotta -block.minecraft.magenta_terracotta=Magenta Terracotta -block.minecraft.light_blue_terracotta=Light Blue Terracotta -block.minecraft.yellow_terracotta=Yellow Terracotta -block.minecraft.lime_terracotta=Lime Terracotta -block.minecraft.pink_terracotta=Pink Terracotta -block.minecraft.gray_terracotta=Gray Terracotta -block.minecraft.light_gray_terracotta=Light Gray Terracotta -block.minecraft.cyan_terracotta=Cyan Terracotta -block.minecraft.purple_terracotta=Purple Terracotta -block.minecraft.blue_terracotta=Blue Terracotta -block.minecraft.brown_terracotta=Brown Terracotta -block.minecraft.green_terracotta=Green Terracotta -block.minecraft.red_terracotta=Red Terracotta -block.minecraft.black_terracotta=Black Terracotta -block.minecraft.terracotta=Terracotta -block.minecraft.sugar_cane=Sugar Cane -block.minecraft.jukebox=Jukebox -block.minecraft.oak_fence=Oak Fence -block.minecraft.spruce_fence=Spruce Fence -block.minecraft.birch_fence=Birch Fence -block.minecraft.jungle_fence=Jungle Fence -block.minecraft.dark_oak_fence=Dark Oak Fence -block.minecraft.acacia_fence=Acacia Fence -block.minecraft.oak_fence_gate=Oak Fence Gate -block.minecraft.spruce_fence_gate=Spruce Fence Gate -block.minecraft.birch_fence_gate=Birch Fence Gate -block.minecraft.jungle_fence_gate=Jungle Fence Gate -block.minecraft.dark_oak_fence_gate=Dark Oak Fence Gate -block.minecraft.acacia_fence_gate=Acacia Fence Gate -block.minecraft.pumpkin_stem=Pumpkin Stem -block.minecraft.attached_pumpkin_stem=Attached Pumpkin Stem -block.minecraft.pumpkin=Pumpkin -block.minecraft.carved_pumpkin=Carved Pumpkin -block.minecraft.jack_o_lantern=Jack o'Lantern -block.minecraft.netherrack=Netherrack -block.minecraft.soul_sand=Soul Sand -block.minecraft.glowstone=Glowstone -block.minecraft.nether_portal=Nether Portal -block.minecraft.white_wool=White Wool -block.minecraft.orange_wool=Orange Wool -block.minecraft.magenta_wool=Magenta Wool -block.minecraft.light_blue_wool=Light Blue Wool -block.minecraft.yellow_wool=Yellow Wool -block.minecraft.lime_wool=Lime Wool -block.minecraft.pink_wool=Pink Wool -block.minecraft.gray_wool=Gray Wool -block.minecraft.light_gray_wool=Light Gray Wool -block.minecraft.cyan_wool=Cyan Wool -block.minecraft.purple_wool=Purple Wool -block.minecraft.blue_wool=Blue Wool -block.minecraft.brown_wool=Brown Wool -block.minecraft.green_wool=Green Wool -block.minecraft.red_wool=Red Wool -block.minecraft.black_wool=Black Wool -block.minecraft.lapis_ore=Lapis Lazuli Ore -block.minecraft.lapis_block=Lapis Lazuli Block -block.minecraft.dispenser=Dispenser -block.minecraft.dropper=Dropper -block.minecraft.note_block=Note Block -block.minecraft.cake=Cake -block.minecraft.oak_trapdoor=Oak Trapdoor -block.minecraft.spruce_trapdoor=Spruce Trapdoor -block.minecraft.birch_trapdoor=Birch Trapdoor -block.minecraft.jungle_trapdoor=Jungle Trapdoor -block.minecraft.acacia_trapdoor=Acacia Trapdoor -block.minecraft.dark_oak_trapdoor=Dark Oak Trapdoor -block.minecraft.iron_trapdoor=Iron Trapdoor -block.minecraft.cobweb=Cobweb -block.minecraft.stone_bricks=Stone Bricks -block.minecraft.mossy_stone_bricks=Mossy Stone Bricks -block.minecraft.cracked_stone_bricks=Cracked Stone Bricks -block.minecraft.chiseled_stone_bricks=Chiseled Stone Bricks -block.minecraft.infested_stone=Infested Stone -block.minecraft.infested_cobblestone=Infested Cobblestone -block.minecraft.infested_stone_bricks=Infested Stone Bricks -block.minecraft.infested_mossy_stone_bricks=Infested Mossy Stone Bricks -block.minecraft.infested_cracked_stone_bricks=Infested Cracked Stone Bricks -block.minecraft.infested_chiseled_stone_bricks=Infested Chiseled Stone Bricks -block.minecraft.piston=Piston -block.minecraft.sticky_piston=Sticky Piston -block.minecraft.iron_bars=Iron Bars -block.minecraft.melon=Melon -block.minecraft.brick_stairs=Brick Stairs -block.minecraft.stone_brick_stairs=Stone Brick Stairs -block.minecraft.vine=Vines -block.minecraft.nether_bricks=Nether Bricks -block.minecraft.nether_brick_fence=Nether Brick Fence -block.minecraft.nether_brick_stairs=Nether Brick Stairs -block.minecraft.nether_wart=Nether Wart -block.minecraft.cauldron=Cauldron -block.minecraft.enchanting_table=Enchanting Table -block.minecraft.anvil=Anvil -block.minecraft.chipped_anvil=Chipped Anvil -block.minecraft.damaged_anvil=Damaged Anvil -block.minecraft.end_stone=End Stone -block.minecraft.end_portal_frame=End Portal Frame -block.minecraft.mycelium=Mycelium -block.minecraft.lily_pad=Lily Pad -block.minecraft.dragon_egg=Dragon Egg -block.minecraft.redstone_lamp=Redstone Lamp -block.minecraft.cocoa=Cocoa -block.minecraft.ender_chest=Ender Chest -block.minecraft.emerald_ore=Emerald Ore -block.minecraft.emerald_block=Block of Emerald -block.minecraft.redstone_block=Block of Redstone -block.minecraft.tripwire=Tripwire -block.minecraft.tripwire_hook=Tripwire Hook -block.minecraft.command_block=Command Block -block.minecraft.repeating_command_block=Repeating Command Block -block.minecraft.chain_command_block=Chain Command Block -block.minecraft.beacon=Beacon -block.minecraft.cobblestone_wall=Cobblestone Wall -block.minecraft.mossy_cobblestone_wall=Mossy Cobblestone Wall -block.minecraft.carrots=Carrots -block.minecraft.potatoes=Potatoes -block.minecraft.daylight_detector=Daylight Detector -block.minecraft.nether_quartz_ore=Nether Quartz Ore -block.minecraft.hopper=Hopper -block.minecraft.quartz_block=Block of Quartz -block.minecraft.chiseled_quartz_block=Chiseled Quartz Block -block.minecraft.quartz_pillar=Quartz Pillar -block.minecraft.quartz_stairs=Quartz Stairs -block.minecraft.slime_block=Slime Block -block.minecraft.prismarine=Prismarine -block.minecraft.prismarine_bricks=Prismarine Bricks -block.minecraft.dark_prismarine=Dark Prismarine -block.minecraft.sea_lantern=Sea Lantern -block.minecraft.end_rod=End Rod -block.minecraft.chorus_plant=Chorus Plant -block.minecraft.chorus_flower=Chorus Flower -block.minecraft.purpur_block=Purpur Block -block.minecraft.purpur_pillar=Purpur Pillar -block.minecraft.purpur_stairs=Purpur Stairs -block.minecraft.purpur_slab=Purpur Slab -block.minecraft.end_stone_bricks=End Stone Bricks -block.minecraft.beetroots=Beetroots -block.minecraft.grass_path=Grass Path -block.minecraft.magma_block=Magma Block -block.minecraft.nether_wart_block=Nether Wart Block -block.minecraft.red_nether_bricks=Red Nether Bricks -block.minecraft.bone_block=Bone Block -block.minecraft.observer=Observer -block.minecraft.shulker_box=Shulker Box -block.minecraft.white_shulker_box=White Shulker Box -block.minecraft.orange_shulker_box=Orange Shulker Box -block.minecraft.magenta_shulker_box=Magenta Shulker Box -block.minecraft.light_blue_shulker_box=Light Blue Shulker Box -block.minecraft.yellow_shulker_box=Yellow Shulker Box -block.minecraft.lime_shulker_box=Lime Shulker Box -block.minecraft.pink_shulker_box=Pink Shulker Box -block.minecraft.gray_shulker_box=Gray Shulker Box -block.minecraft.light_gray_shulker_box=Light Gray Shulker Box -block.minecraft.cyan_shulker_box=Cyan Shulker Box -block.minecraft.purple_shulker_box=Purple Shulker Box -block.minecraft.blue_shulker_box=Blue Shulker Box -block.minecraft.brown_shulker_box=Brown Shulker Box -block.minecraft.green_shulker_box=Green Shulker Box -block.minecraft.red_shulker_box=Red Shulker Box -block.minecraft.black_shulker_box=Black Shulker Box -block.minecraft.white_glazed_terracotta=White Glazed Terracotta -block.minecraft.orange_glazed_terracotta=Orange Glazed Terracotta -block.minecraft.magenta_glazed_terracotta=Magenta Glazed Terracotta -block.minecraft.light_blue_glazed_terracotta=Light Blue Glazed Terracotta -block.minecraft.yellow_glazed_terracotta=Yellow Glazed Terracotta -block.minecraft.lime_glazed_terracotta=Lime Glazed Terracotta -block.minecraft.pink_glazed_terracotta=Pink Glazed Terracotta -block.minecraft.gray_glazed_terracotta=Gray Glazed Terracotta -block.minecraft.light_gray_glazed_terracotta=Light Gray Glazed Terracotta -block.minecraft.cyan_glazed_terracotta=Cyan Glazed Terracotta -block.minecraft.purple_glazed_terracotta=Purple Glazed Terracotta -block.minecraft.blue_glazed_terracotta=Blue Glazed Terracotta -block.minecraft.brown_glazed_terracotta=Brown Glazed Terracotta -block.minecraft.green_glazed_terracotta=Green Glazed Terracotta -block.minecraft.red_glazed_terracotta=Red Glazed Terracotta -block.minecraft.black_glazed_terracotta=Black Glazed Terracotta -block.minecraft.black_concrete=Black Concrete -block.minecraft.red_concrete=Red Concrete -block.minecraft.green_concrete=Green Concrete -block.minecraft.brown_concrete=Brown Concrete -block.minecraft.blue_concrete=Blue Concrete -block.minecraft.purple_concrete=Purple Concrete -block.minecraft.cyan_concrete=Cyan Concrete -block.minecraft.light_gray_concrete=Light Gray Concrete -block.minecraft.gray_concrete=Gray Concrete -block.minecraft.pink_concrete=Pink Concrete -block.minecraft.lime_concrete=Lime Concrete -block.minecraft.yellow_concrete=Yellow Concrete -block.minecraft.light_blue_concrete=Light Blue Concrete -block.minecraft.magenta_concrete=Magenta Concrete -block.minecraft.orange_concrete=Orange Concrete -block.minecraft.white_concrete=White Concrete -block.minecraft.black_concrete_powder=Black Concrete Powder -block.minecraft.red_concrete_powder=Red Concrete Powder -block.minecraft.green_concrete_powder=Green Concrete Powder -block.minecraft.brown_concrete_powder=Brown Concrete Powder -block.minecraft.blue_concrete_powder=Blue Concrete Powder -block.minecraft.purple_concrete_powder=Purple Concrete Powder -block.minecraft.cyan_concrete_powder=Cyan Concrete Powder -block.minecraft.light_gray_concrete_powder=Light Gray Concrete Powder -block.minecraft.gray_concrete_powder=Gray Concrete Powder -block.minecraft.pink_concrete_powder=Pink Concrete Powder -block.minecraft.lime_concrete_powder=Lime Concrete Powder -block.minecraft.yellow_concrete_powder=Yellow Concrete Powder -block.minecraft.light_blue_concrete_powder=Light Blue Concrete Powder -block.minecraft.magenta_concrete_powder=Magenta Concrete Powder -block.minecraft.orange_concrete_powder=Orange Concrete Powder -block.minecraft.white_concrete_powder=White Concrete Powder -block.minecraft.turtle_egg=Turtle Egg -block.minecraft.piston_head=Piston Head -block.minecraft.moving_piston=Moving Piston -block.minecraft.red_mushroom=Red Mushroom -block.minecraft.snow_block=Snow Block -block.minecraft.attached_melon_stem=Attached Melon Stem -block.minecraft.melon_stem=Melon Stem -block.minecraft.brewing_stand=Brewing Stand -block.minecraft.end_portal=End Portal -block.minecraft.flower_pot=Flower Pot -block.minecraft.potted_oak_sapling=Potted Oak Sapling -block.minecraft.potted_spruce_sapling=Potted Spruce Sapling -block.minecraft.potted_birch_sapling=Potted Birch Sapling -block.minecraft.potted_jungle_sapling=Potted Jungle Sapling -block.minecraft.potted_acacia_sapling=Potted Acacia Sapling -block.minecraft.potted_dark_oak_sapling=Potted Dark Oak Sapling -block.minecraft.potted_fern=Potted Fern -block.minecraft.potted_dandelion=Potted Dandelion -block.minecraft.potted_poppy=Potted Poppy -block.minecraft.potted_blue_orchid=Potted Blue Orchid -block.minecraft.potted_allium=Potted Allium -block.minecraft.potted_azure_bluet=Potted Azure Bluet -block.minecraft.potted_red_tulip=Potted Red Tulip -block.minecraft.potted_orange_tulip=Potted Orange Tulip -block.minecraft.potted_white_tulip=Potted White Tulip -block.minecraft.potted_pink_tulip=Potted Pink Tulip -block.minecraft.potted_oxeye_daisy=Potted Oxeye Daisy -block.minecraft.potted_cornflower=Potted Cornflower -block.minecraft.potted_lily_of_the_valley=Potted Lily of the Valley -block.minecraft.potted_wither_rose=Potted Wither Rose -block.minecraft.potted_red_mushroom=Potted Red Mushroom -block.minecraft.potted_brown_mushroom=Potted Brown Mushroom -block.minecraft.potted_dead_bush=Potted Dead Bush -block.minecraft.potted_cactus=Potted Cactus -block.minecraft.potted_bamboo=Potted Bamboo -block.minecraft.skeleton_wall_skull=Skeleton Wall Skull -block.minecraft.skeleton_skull=Skeleton Skull -block.minecraft.wither_skeleton_wall_skull=Wither Skeleton Wall Skull -block.minecraft.wither_skeleton_skull=Wither Skeleton Skull -block.minecraft.zombie_wall_head=Zombie Wall Head -block.minecraft.zombie_head=Zombie Head -block.minecraft.player_wall_head=Player Wall Head -block.minecraft.player_head=Player Head -block.minecraft.creeper_wall_head=Creeper Wall Head -block.minecraft.creeper_head=Creeper Head -block.minecraft.dragon_wall_head=Dragon Wall Head -block.minecraft.dragon_head=Dragon Head -block.minecraft.end_gateway=End Gateway -block.minecraft.structure_void=Structure Void -block.minecraft.structure_block=Structure Block -block.minecraft.void_air=Void Air -block.minecraft.cave_air=Cave Air -block.minecraft.bubble_column=Bubble Column -block.minecraft.dead_tube_coral_block=Dead Tube Coral Block -block.minecraft.dead_brain_coral_block=Dead Brain Coral Block -block.minecraft.dead_bubble_coral_block=Dead Bubble Coral Block -block.minecraft.dead_fire_coral_block=Dead Fire Coral Block -block.minecraft.dead_horn_coral_block=Dead Horn Coral Block -block.minecraft.tube_coral_block=Tube Coral Block -block.minecraft.brain_coral_block=Brain Coral Block -block.minecraft.bubble_coral_block=Bubble Coral Block -block.minecraft.fire_coral_block=Fire Coral Block -block.minecraft.horn_coral_block=Horn Coral Block -block.minecraft.tube_coral=Tube Coral -block.minecraft.brain_coral=Brain Coral -block.minecraft.bubble_coral=Bubble Coral -block.minecraft.fire_coral=Fire Coral -block.minecraft.horn_coral=Horn Coral -block.minecraft.dead_tube_coral=Dead Tube Coral -block.minecraft.dead_brain_coral=Dead Brain Coral -block.minecraft.dead_bubble_coral=Dead Bubble Coral -block.minecraft.dead_fire_coral=Dead Fire Coral -block.minecraft.dead_horn_coral=Dead Horn Coral -block.minecraft.tube_coral_fan=Tube Coral Fan -block.minecraft.brain_coral_fan=Brain Coral Fan -block.minecraft.bubble_coral_fan=Bubble Coral Fan -block.minecraft.fire_coral_fan=Fire Coral Fan -block.minecraft.horn_coral_fan=Horn Coral Fan -block.minecraft.loom=Loom -block.minecraft.conduit=Conduit -block.minecraft.bamboo=Bamboo -block.minecraft.bamboo_sapling=Bamboo Sapling -block.minecraft.jigsaw=Jigsaw Block -block.minecraft.composter=Composter -block.minecraft.polished_granite_stairs=Polished Granite Stairs -block.minecraft.smooth_red_sandstone_stairs=Smooth Red Sandstone Stairs -block.minecraft.mossy_stone_brick_stairs=Mossy Stone Brick Stairs -block.minecraft.polished_diorite_stairs=Polished Diorite Stairs -block.minecraft.mossy_cobblestone_stairs=Mossy Cobblestone Stairs -block.minecraft.end_stone_brick_stairs=End Stone Brick Stairs -block.minecraft.smooth_sandstone_stairs=Smooth Sandstone Stairs -block.minecraft.smooth_quartz_stairs=Smooth Quartz Stairs -block.minecraft.granite_stairs=Granite Stairs -block.minecraft.andesite_stairs=Andesite Stairs -block.minecraft.red_nether_brick_stairs=Red Nether Brick Stairs -block.minecraft.polished_andesite_stairs=Polished Andesite Stairs -block.minecraft.diorite_stairs=Diorite Stairs -block.minecraft.polished_granite_slab=Polished Granite Slab -block.minecraft.smooth_red_sandstone_slab=Smooth Red Sandstone Slab -block.minecraft.mossy_stone_brick_slab=Mossy Stone Brick Slab -block.minecraft.polished_diorite_slab=Polished Diorite Slab -block.minecraft.mossy_cobblestone_slab=Mossy Cobblestone Slab -block.minecraft.end_stone_brick_slab=End Stone Brick Slab -block.minecraft.smooth_sandstone_slab=Smooth Sandstone Slab -block.minecraft.smooth_quartz_slab=Smooth Quartz Slab -block.minecraft.granite_slab=Granite Slab -block.minecraft.andesite_slab=Andesite Slab -block.minecraft.red_nether_brick_slab=Red Nether Brick Slab -block.minecraft.polished_andesite_slab=Polished Andesite Slab -block.minecraft.diorite_slab=Diorite Slab -block.minecraft.brick_wall=Brick Wall -block.minecraft.prismarine_wall=Prismarine Wall -block.minecraft.red_sandstone_wall=Red Sandstone Wall -block.minecraft.mossy_stone_brick_wall=Mossy Stone Brick Wall -block.minecraft.granite_wall=Granite Wall -block.minecraft.stone_brick_wall=Stone Brick Wall -block.minecraft.nether_brick_wall=Nether Brick Wall -block.minecraft.andesite_wall=Andesite Wall -block.minecraft.red_nether_brick_wall=Red Nether Brick Wall -block.minecraft.sandstone_wall=Sandstone Wall -block.minecraft.end_stone_brick_wall=End Stone Brick Wall -block.minecraft.diorite_wall=Diorite Wall -block.minecraft.barrel=Barrel -block.minecraft.smoker=Smoker -block.minecraft.blast_furnace=Blast Furnace -block.minecraft.cartography_table=Cartography Table -block.minecraft.fletching_table=Fletching Table -block.minecraft.smithing_table=Smithing Table -block.minecraft.grindstone=Grindstone -block.minecraft.lectern=Lectern -block.minecraft.stonecutter=Stonecutter -block.minecraft.bell=Bell -block.minecraft.lantern=Lantern -block.minecraft.sweet_berry_bush=Sweet Berry Bush -block.minecraft.campfire=Campfire -item.minecraft.name_tag=Name Tag -item.minecraft.lead=Lead -item.minecraft.iron_shovel=Iron Shovel -item.minecraft.iron_pickaxe=Iron Pickaxe -item.minecraft.iron_axe=Iron Axe -item.minecraft.flint_and_steel=Flint and Steel -item.minecraft.apple=Apple -item.minecraft.cookie=Cookie -item.minecraft.bow=Bow -item.minecraft.arrow=Arrow -item.minecraft.spectral_arrow=Spectral Arrow -item.minecraft.tipped_arrow=Tipped Arrow -item.minecraft.dried_kelp=Dried Kelp -item.minecraft.coal=Coal -item.minecraft.charcoal=Charcoal -item.minecraft.diamond=Diamond -item.minecraft.emerald=Emerald -item.minecraft.iron_ingot=Iron Ingot -item.minecraft.gold_ingot=Gold Ingot -item.minecraft.iron_sword=Iron Sword -item.minecraft.wooden_sword=Wooden Sword -item.minecraft.wooden_shovel=Wooden Shovel -item.minecraft.wooden_pickaxe=Wooden Pickaxe -item.minecraft.wooden_axe=Wooden Axe -item.minecraft.stone_sword=Stone Sword -item.minecraft.stone_shovel=Stone Shovel -item.minecraft.stone_pickaxe=Stone Pickaxe -item.minecraft.stone_axe=Stone Axe -item.minecraft.diamond_sword=Diamond Sword -item.minecraft.diamond_shovel=Diamond Shovel -item.minecraft.diamond_pickaxe=Diamond Pickaxe -item.minecraft.diamond_axe=Diamond Axe -item.minecraft.stick=Stick -item.minecraft.bowl=Bowl -item.minecraft.mushroom_stew=Mushroom Stew -item.minecraft.golden_sword=Golden Sword -item.minecraft.golden_shovel=Golden Shovel -item.minecraft.golden_pickaxe=Golden Pickaxe -item.minecraft.golden_axe=Golden Axe -item.minecraft.string=String -item.minecraft.feather=Feather -item.minecraft.gunpowder=Gunpowder -item.minecraft.wooden_hoe=Wooden Hoe -item.minecraft.stone_hoe=Stone Hoe -item.minecraft.iron_hoe=Iron Hoe -item.minecraft.diamond_hoe=Diamond Hoe -item.minecraft.golden_hoe=Golden Hoe -item.minecraft.wheat_seeds=Wheat Seeds -item.minecraft.pumpkin_seeds=Pumpkin Seeds -item.minecraft.melon_seeds=Melon Seeds -item.minecraft.melon_slice=Melon Slice -item.minecraft.wheat=Wheat -item.minecraft.bread=Bread -item.minecraft.leather_helmet=Leather Cap -item.minecraft.leather_chestplate=Leather Tunic -item.minecraft.leather_leggings=Leather Pants -item.minecraft.leather_boots=Leather Boots -item.minecraft.chainmail_helmet=Chainmail Helmet -item.minecraft.chainmail_chestplate=Chainmail Chestplate -item.minecraft.chainmail_leggings=Chainmail Leggings -item.minecraft.chainmail_boots=Chainmail Boots -item.minecraft.iron_helmet=Iron Helmet -item.minecraft.iron_chestplate=Iron Chestplate -item.minecraft.iron_leggings=Iron Leggings -item.minecraft.iron_boots=Iron Boots -item.minecraft.diamond_helmet=Diamond Helmet -item.minecraft.diamond_chestplate=Diamond Chestplate -item.minecraft.diamond_leggings=Diamond Leggings -item.minecraft.diamond_boots=Diamond Boots -item.minecraft.golden_helmet=Golden Helmet -item.minecraft.golden_chestplate=Golden Chestplate -item.minecraft.golden_leggings=Golden Leggings -item.minecraft.golden_boots=Golden Boots -item.minecraft.flint=Flint -item.minecraft.porkchop=Raw Porkchop -item.minecraft.cooked_porkchop=Cooked Porkchop -item.minecraft.chicken=Raw Chicken -item.minecraft.cooked_chicken=Cooked Chicken -item.minecraft.mutton=Raw Mutton -item.minecraft.cooked_mutton=Cooked Mutton -item.minecraft.rabbit=Raw Rabbit -item.minecraft.cooked_rabbit=Cooked Rabbit -item.minecraft.rabbit_stew=Rabbit Stew -item.minecraft.rabbit_foot=Rabbit's Foot -item.minecraft.rabbit_hide=Rabbit Hide -item.minecraft.beef=Raw Beef -item.minecraft.cooked_beef=Steak -item.minecraft.painting=Painting -item.minecraft.item_frame=Item Frame -item.minecraft.golden_apple=Golden Apple -item.minecraft.enchanted_golden_apple=Enchanted Golden Apple -item.minecraft.sign=Sign -item.minecraft.bucket=Bucket -item.minecraft.water_bucket=Water Bucket -item.minecraft.lava_bucket=Lava Bucket -item.minecraft.pufferfish_bucket=Bucket of Pufferfish -item.minecraft.salmon_bucket=Bucket of Salmon -item.minecraft.cod_bucket=Bucket of Cod -item.minecraft.tropical_fish_bucket=Bucket of Tropical Fish -item.minecraft.minecart=Minecart -item.minecraft.saddle=Saddle -item.minecraft.redstone=Redstone Dust -item.minecraft.snowball=Snowball -item.minecraft.oak_boat=Oak Boat -item.minecraft.spruce_boat=Spruce Boat -item.minecraft.birch_boat=Birch Boat -item.minecraft.jungle_boat=Jungle Boat -item.minecraft.acacia_boat=Acacia Boat -item.minecraft.dark_oak_boat=Dark Oak Boat -item.minecraft.leather=Leather -item.minecraft.milk_bucket=Milk Bucket -item.minecraft.brick=Brick -item.minecraft.clay_ball=Clay -item.minecraft.paper=Paper -item.minecraft.book=Book -item.minecraft.slime_ball=Slimeball -item.minecraft.chest_minecart=Minecart with Chest -item.minecraft.furnace_minecart=Minecart with Furnace -item.minecraft.tnt_minecart=Minecart with TNT -item.minecraft.hopper_minecart=Minecart with Hopper -item.minecraft.command_block_minecart=Minecart with Command Block -item.minecraft.egg=Egg -item.minecraft.compass=Compass -item.minecraft.fishing_rod=Fishing Rod -item.minecraft.clock=Clock -item.minecraft.glowstone_dust=Glowstone Dust -item.minecraft.cod=Raw Cod -item.minecraft.salmon=Raw Salmon -item.minecraft.pufferfish=Pufferfish -item.minecraft.tropical_fish=Tropical Fish -item.minecraft.cooked_cod=Cooked Cod -item.minecraft.cooked_salmon=Cooked Salmon -item.minecraft.music_disc_13=Music Disc -item.minecraft.music_disc_cat=Music Disc -item.minecraft.music_disc_blocks=Music Disc -item.minecraft.music_disc_chirp=Music Disc -item.minecraft.music_disc_far=Music Disc -item.minecraft.music_disc_mall=Music Disc -item.minecraft.music_disc_mellohi=Music Disc -item.minecraft.music_disc_stal=Music Disc -item.minecraft.music_disc_strad=Music Disc -item.minecraft.music_disc_ward=Music Disc -item.minecraft.music_disc_11=Music Disc -item.minecraft.music_disc_wait=Music Disc -item.minecraft.music_disc_13.desc=C418 - 13 -item.minecraft.music_disc_cat.desc=C418 - cat -item.minecraft.music_disc_blocks.desc=C418 - blocks -item.minecraft.music_disc_chirp.desc=C418 - chirp -item.minecraft.music_disc_far.desc=C418 - far -item.minecraft.music_disc_mall.desc=C418 - mall -item.minecraft.music_disc_mellohi.desc=C418 - mellohi -item.minecraft.music_disc_stal.desc=C418 - stal -item.minecraft.music_disc_strad.desc=C418 - strad -item.minecraft.music_disc_ward.desc=C418 - ward -item.minecraft.music_disc_11.desc=C418 - 11 -item.minecraft.music_disc_wait.desc=C418 - wait -item.minecraft.bone=Bone -item.minecraft.ink_sac=Ink Sac -item.minecraft.cactus_green=Cactus Green -item.minecraft.dandelion_yellow=Dandelion Yellow -item.minecraft.rose_red=Rose Red -item.minecraft.red_dye=Red Dye -item.minecraft.green_dye=Green Dye -item.minecraft.cocoa_beans=Cocoa Beans -item.minecraft.lapis_lazuli=Lapis Lazuli -item.minecraft.purple_dye=Purple Dye -item.minecraft.cyan_dye=Cyan Dye -item.minecraft.light_gray_dye=Light Gray Dye -item.minecraft.gray_dye=Gray Dye -item.minecraft.pink_dye=Pink Dye -item.minecraft.lime_dye=Lime Dye -item.minecraft.yellow_dye=Yellow Dye -item.minecraft.light_blue_dye=Light Blue Dye -item.minecraft.magenta_dye=Magenta Dye -item.minecraft.orange_dye=Orange Dye -item.minecraft.bone_meal=Bone Meal -item.minecraft.blue_dye=Blue Dye -item.minecraft.black_dye=Black Dye -item.minecraft.brown_dye=Brown Dye -item.minecraft.white_dye=White Dye -item.minecraft.sugar=Sugar -block.minecraft.black_bed=Black Bed -block.minecraft.red_bed=Red Bed -block.minecraft.green_bed=Green Bed -block.minecraft.brown_bed=Brown Bed -block.minecraft.blue_bed=Blue Bed -block.minecraft.purple_bed=Purple Bed -block.minecraft.cyan_bed=Cyan Bed -block.minecraft.light_gray_bed=Light Gray Bed -block.minecraft.gray_bed=Gray Bed -block.minecraft.pink_bed=Pink Bed -block.minecraft.lime_bed=Lime Bed -block.minecraft.yellow_bed=Yellow Bed -block.minecraft.light_blue_bed=Light Blue Bed -block.minecraft.magenta_bed=Magenta Bed -block.minecraft.orange_bed=Orange Bed -block.minecraft.white_bed=White Bed -block.minecraft.repeater=Redstone Repeater -block.minecraft.comparator=Redstone Comparator -item.minecraft.filled_map=Map -item.minecraft.shears=Shears -item.minecraft.rotten_flesh=Rotten Flesh -item.minecraft.ender_pearl=Ender Pearl -item.minecraft.blaze_rod=Blaze Rod -item.minecraft.ghast_tear=Ghast Tear -item.minecraft.nether_wart=Nether Wart -item.minecraft.potion=Potion -item.minecraft.splash_potion=Splash Potion -item.minecraft.lingering_potion=Lingering Potion -item.minecraft.end_crystal=End Crystal -item.minecraft.gold_nugget=Gold Nugget -item.minecraft.glass_bottle=Glass Bottle -item.minecraft.spider_eye=Spider Eye -item.minecraft.fermented_spider_eye=Fermented Spider Eye -item.minecraft.blaze_powder=Blaze Powder -item.minecraft.magma_cream=Magma Cream -item.minecraft.cauldron=Cauldron -item.minecraft.brewing_stand=Brewing Stand -item.minecraft.ender_eye=Eye of Ender -item.minecraft.glistering_melon_slice=Glistering Melon Slice -item.minecraft.bat_spawn_egg=Bat Spawn Egg -item.minecraft.blaze_spawn_egg=Blaze Spawn Egg -item.minecraft.cat_spawn_egg=Cat Spawn Egg -item.minecraft.cave_spider_spawn_egg=Cave Spider Spawn Egg -item.minecraft.chicken_spawn_egg=Chicken Spawn Egg -item.minecraft.cod_spawn_egg=Cod Spawn Egg -item.minecraft.cow_spawn_egg=Cow Spawn Egg -item.minecraft.creeper_spawn_egg=Creeper Spawn Egg -item.minecraft.dolphin_spawn_egg=Dolphin Spawn Egg -item.minecraft.donkey_spawn_egg=Donkey Spawn Egg -item.minecraft.drowned_spawn_egg=Drowned Spawn Egg -item.minecraft.elder_guardian_spawn_egg=Elder Guardian Spawn Egg -item.minecraft.enderman_spawn_egg=Enderman Spawn Egg -item.minecraft.endermite_spawn_egg=Endermite Spawn Egg -item.minecraft.evoker_spawn_egg=Evoker Spawn Egg -item.minecraft.ghast_spawn_egg=Ghast Spawn Egg -item.minecraft.guardian_spawn_egg=Guardian Spawn Egg -item.minecraft.horse_spawn_egg=Horse Spawn Egg -item.minecraft.husk_spawn_egg=Husk Spawn Egg -item.minecraft.ravager_spawn_egg=Ravager Spawn Egg -item.minecraft.llama_spawn_egg=Llama Spawn Egg -item.minecraft.magma_cube_spawn_egg=Magma Cube Spawn Egg -item.minecraft.mooshroom_spawn_egg=Mooshroom Spawn Egg -item.minecraft.mule_spawn_egg=Mule Spawn Egg -item.minecraft.ocelot_spawn_egg=Ocelot Spawn Egg -item.minecraft.panda_spawn_egg=Panda Spawn Egg -item.minecraft.parrot_spawn_egg=Parrot Spawn Egg -item.minecraft.pig_spawn_egg=Pig Spawn Egg -item.minecraft.pillager_spawn_egg=Pillager Spawn Egg -item.minecraft.phantom_spawn_egg=Phantom Spawn Egg -item.minecraft.polar_bear_spawn_egg=Polar Bear Spawn Egg -item.minecraft.pufferfish_spawn_egg=Pufferfish Spawn Egg -item.minecraft.rabbit_spawn_egg=Rabbit Spawn Egg -item.minecraft.fox_spawn_egg=Fox Spawn Egg -item.minecraft.salmon_spawn_egg=Salmon Spawn Egg -item.minecraft.sheep_spawn_egg=Sheep Spawn Egg -item.minecraft.shulker_spawn_egg=Shulker Spawn Egg -item.minecraft.silverfish_spawn_egg=Silverfish Spawn Egg -item.minecraft.skeleton_spawn_egg=Skeleton Spawn Egg -item.minecraft.skeleton_horse_spawn_egg=Skeleton Horse Spawn Egg -item.minecraft.slime_spawn_egg=Slime Spawn Egg -item.minecraft.spider_spawn_egg=Spider Spawn Egg -item.minecraft.squid_spawn_egg=Squid Spawn Egg -item.minecraft.stray_spawn_egg=Stray Spawn Egg -item.minecraft.trader_llama_spawn_egg=Trader Llama Spawn Egg -item.minecraft.tropical_fish_spawn_egg=Tropical Fish Spawn Egg -item.minecraft.turtle_spawn_egg=Turtle Spawn Egg -item.minecraft.vex_spawn_egg=Vex Spawn Egg -item.minecraft.villager_spawn_egg=Villager Spawn Egg -item.minecraft.wandering_trader_spawn_egg=Wandering Trader Spawn Egg -item.minecraft.vindicator_spawn_egg=Vindicator Spawn Egg -item.minecraft.witch_spawn_egg=Witch Spawn Egg -item.minecraft.wither_skeleton_spawn_egg=Wither Skeleton Spawn Egg -item.minecraft.wolf_spawn_egg=Wolf Spawn Egg -item.minecraft.zombie_spawn_egg=Zombie Spawn Egg -item.minecraft.zombie_horse_spawn_egg=Zombie Horse Spawn Egg -item.minecraft.zombie_pigman_spawn_egg=Zombie Pigman Spawn Egg -item.minecraft.zombie_villager_spawn_egg=Zombie Villager Spawn Egg -item.minecraft.experience_bottle=Bottle o' Enchanting -item.minecraft.fire_charge=Fire Charge -item.minecraft.writable_book=Book and Quill -item.minecraft.written_book=Written Book -item.minecraft.flower_pot=Flower Pot -item.minecraft.map=Empty Map -item.minecraft.carrot=Carrot -item.minecraft.golden_carrot=Golden Carrot -item.minecraft.potato=Potato -item.minecraft.baked_potato=Baked Potato -item.minecraft.poisonous_potato=Poisonous Potato -item.minecraft.skeleton_skull=Skeleton Skull -item.minecraft.wither_skeleton_skull=Wither Skeleton Skull -item.minecraft.zombie_head=Zombie Head -item.minecraft.creeper_head=Creeper Head -item.minecraft.dragon_head=Dragon Head -item.minecraft.carrot_on_a_stick=Carrot on a Stick -item.minecraft.nether_star=Nether Star -item.minecraft.pumpkin_pie=Pumpkin Pie -item.minecraft.enchanted_book=Enchanted Book -item.minecraft.firework_rocket=Firework Rocket -item.minecraft.firework_star=Firework Star -item.minecraft.nether_brick=Nether Brick -item.minecraft.quartz=Nether Quartz -item.minecraft.armor_stand=Armor Stand -item.minecraft.iron_horse_armor=Iron Horse Armor -item.minecraft.golden_horse_armor=Golden Horse Armor -item.minecraft.diamond_horse_armor=Diamond Horse Armor -item.minecraft.leather_horse_armor=Leather Horse Armor -item.minecraft.prismarine_shard=Prismarine Shard -item.minecraft.prismarine_crystals=Prismarine Crystals -item.minecraft.chorus_fruit=Chorus Fruit -item.minecraft.popped_chorus_fruit=Popped Chorus Fruit -item.minecraft.beetroot=Beetroot -item.minecraft.beetroot_seeds=Beetroot Seeds -item.minecraft.beetroot_soup=Beetroot Soup -item.minecraft.dragon_breath=Dragon's Breath -item.minecraft.elytra=Elytra -item.minecraft.totem_of_undying=Totem of Undying -item.minecraft.shulker_shell=Shulker Shell -item.minecraft.iron_nugget=Iron Nugget -item.minecraft.knowledge_book=Knowledge Book -item.minecraft.debug_stick=Debug Stick -item.minecraft.trident=Trident -item.minecraft.scute=Scute -item.minecraft.turtle_helmet=Turtle Shell -item.minecraft.phantom_membrane=Phantom Membrane -item.minecraft.nautilus_shell=Nautilus Shell -item.minecraft.heart_of_the_sea=Heart of the Sea -item.minecraft.crossbow=Crossbow -item.minecraft.suspicious_stew=Suspicious Stew -item.minecraft.creeper_banner_pattern=Banner Pattern -item.minecraft.skull_banner_pattern=Banner Pattern -item.minecraft.flower_banner_pattern=Banner Pattern -item.minecraft.mojang_banner_pattern=Banner Pattern -item.minecraft.globe_banner_pattern=Banner Pattern -item.minecraft.creeper_banner_pattern.desc=Creeper Charge -item.minecraft.skull_banner_pattern.desc=Skull Charge -item.minecraft.flower_banner_pattern.desc=Flower Charge -item.minecraft.mojang_banner_pattern.desc=Thing -item.minecraft.globe_banner_pattern.desc=Globe -item.minecraft.sweet_berries=Sweet Berries -effect.minecraft.speed=Speed -effect.minecraft.slowness=Slowness -effect.minecraft.haste=Haste -effect.minecraft.mining_fatigue=Mining Fatigue -effect.minecraft.strength=Strength -effect.minecraft.instant_health=Instant Health -effect.minecraft.instant_damage=Instant Damage -effect.minecraft.jump_boost=Jump Boost -effect.minecraft.nausea=Nausea -effect.minecraft.regeneration=Regeneration -effect.minecraft.resistance=Resistance -effect.minecraft.fire_resistance=Fire Resistance -effect.minecraft.water_breathing=Water Breathing -effect.minecraft.invisibility=Invisibility -effect.minecraft.blindness=Blindness -effect.minecraft.night_vision=Night Vision -effect.minecraft.hunger=Hunger -effect.minecraft.weakness=Weakness -effect.minecraft.poison=Poison -effect.minecraft.wither=Wither -effect.minecraft.health_boost=Health Boost -effect.minecraft.absorption=Absorption -effect.minecraft.saturation=Saturation -effect.minecraft.glowing=Glowing -effect.minecraft.luck=Luck -effect.minecraft.unluck=Bad Luck -effect.minecraft.levitation=Levitation -effect.minecraft.slow_falling=Slow Falling -effect.minecraft.conduit_power=Conduit Power -effect.minecraft.dolphins_grace=Dolphin's Grace -effect.minecraft.bad_omen=Bad Omen -effect.minecraft.hero_of_the_village=Hero of the Village -item.minecraft.tipped_arrow.effect.empty=Uncraftable Tipped Arrow -item.minecraft.tipped_arrow.effect.water=Arrow of Splashing -item.minecraft.tipped_arrow.effect.mundane=Tipped Arrow -item.minecraft.tipped_arrow.effect.thick=Tipped Arrow -item.minecraft.tipped_arrow.effect.awkward=Tipped Arrow -item.minecraft.tipped_arrow.effect.night_vision=Arrow of Night Vision -item.minecraft.tipped_arrow.effect.invisibility=Arrow of Invisibility -item.minecraft.tipped_arrow.effect.leaping=Arrow of Leaping -item.minecraft.tipped_arrow.effect.fire_resistance=Arrow of Fire Resistance -item.minecraft.tipped_arrow.effect.swiftness=Arrow of Swiftness -item.minecraft.tipped_arrow.effect.slowness=Arrow of Slowness -item.minecraft.tipped_arrow.effect.water_breathing=Arrow of Water Breathing -item.minecraft.tipped_arrow.effect.healing=Arrow of Healing -item.minecraft.tipped_arrow.effect.harming=Arrow of Harming -item.minecraft.tipped_arrow.effect.poison=Arrow of Poison -item.minecraft.tipped_arrow.effect.regeneration=Arrow of Regeneration -item.minecraft.tipped_arrow.effect.strength=Arrow of Strength -item.minecraft.tipped_arrow.effect.weakness=Arrow of Weakness -item.minecraft.tipped_arrow.effect.levitation=Arrow of Levitation -item.minecraft.tipped_arrow.effect.luck=Arrow of Luck -item.minecraft.tipped_arrow.effect.turtle_master=Arrow of the Turtle Master -item.minecraft.tipped_arrow.effect.slow_falling=Arrow of Slow Falling -item.minecraft.potion.effect.empty=Uncraftable Potion -item.minecraft.potion.effect.water=Water Bottle -item.minecraft.potion.effect.mundane=Mundane Potion -item.minecraft.potion.effect.thick=Thick Potion -item.minecraft.potion.effect.awkward=Awkward Potion -item.minecraft.potion.effect.night_vision=Potion of Night Vision -item.minecraft.potion.effect.invisibility=Potion of Invisibility -item.minecraft.potion.effect.leaping=Potion of Leaping -item.minecraft.potion.effect.fire_resistance=Potion of Fire Resistance -item.minecraft.potion.effect.swiftness=Potion of Swiftness -item.minecraft.potion.effect.slowness=Potion of Slowness -item.minecraft.potion.effect.water_breathing=Potion of Water Breathing -item.minecraft.potion.effect.healing=Potion of Healing -item.minecraft.potion.effect.harming=Potion of Harming -item.minecraft.potion.effect.poison=Potion of Poison -item.minecraft.potion.effect.regeneration=Potion of Regeneration -item.minecraft.potion.effect.strength=Potion of Strength -item.minecraft.potion.effect.weakness=Potion of Weakness -item.minecraft.potion.effect.levitation=Potion of Levitation -item.minecraft.potion.effect.luck=Potion of Luck -item.minecraft.potion.effect.turtle_master=Potion of the Turtle Master -item.minecraft.potion.effect.slow_falling=Potion of Slow Falling -item.minecraft.splash_potion.effect.empty=Splash Uncraftable Potion -item.minecraft.splash_potion.effect.water=Splash Water Bottle -item.minecraft.splash_potion.effect.mundane=Mundane Splash Potion -item.minecraft.splash_potion.effect.thick=Thick Splash Potion -item.minecraft.splash_potion.effect.awkward=Awkward Splash Potion -item.minecraft.splash_potion.effect.night_vision=Splash Potion of Night Vision -item.minecraft.splash_potion.effect.invisibility=Splash Potion of Invisibility -item.minecraft.splash_potion.effect.leaping=Splash Potion of Leaping -item.minecraft.splash_potion.effect.fire_resistance=Splash Potion of Fire Resistance -item.minecraft.splash_potion.effect.swiftness=Splash Potion of Swiftness -item.minecraft.splash_potion.effect.slowness=Splash Potion of Slowness -item.minecraft.splash_potion.effect.water_breathing=Splash Potion of Water Breathing -item.minecraft.splash_potion.effect.healing=Splash Potion of Healing -item.minecraft.splash_potion.effect.harming=Splash Potion of Harming -item.minecraft.splash_potion.effect.poison=Splash Potion of Poison -item.minecraft.splash_potion.effect.regeneration=Splash Potion of Regeneration -item.minecraft.splash_potion.effect.strength=Splash Potion of Strength -item.minecraft.splash_potion.effect.weakness=Splash Potion of Weakness -item.minecraft.splash_potion.effect.levitation=Splash Potion of Levitation -item.minecraft.splash_potion.effect.luck=Splash Potion of Luck -item.minecraft.splash_potion.effect.turtle_master=Splash Potion of the Turtle Master -item.minecraft.splash_potion.effect.slow_falling=Splash Potion of Slow Falling -item.minecraft.lingering_potion.effect.empty=Lingering Uncraftable Potion -item.minecraft.lingering_potion.effect.water=Lingering Water Bottle -item.minecraft.lingering_potion.effect.mundane=Mundane Lingering Potion -item.minecraft.lingering_potion.effect.thick=Thick Lingering Potion -item.minecraft.lingering_potion.effect.awkward=Awkward Lingering Potion -item.minecraft.lingering_potion.effect.night_vision=Lingering Potion of Night Vision -item.minecraft.lingering_potion.effect.invisibility=Lingering Potion of Invisibility -item.minecraft.lingering_potion.effect.leaping=Lingering Potion of Leaping -item.minecraft.lingering_potion.effect.fire_resistance=Lingering Potion of Fire Resistance -item.minecraft.lingering_potion.effect.swiftness=Lingering Potion of Swiftness -item.minecraft.lingering_potion.effect.slowness=Lingering Potion of Slowness -item.minecraft.lingering_potion.effect.water_breathing=Lingering Potion of Water Breathing -item.minecraft.lingering_potion.effect.healing=Lingering Potion of Healing -item.minecraft.lingering_potion.effect.harming=Lingering Potion of Harming -item.minecraft.lingering_potion.effect.poison=Lingering Potion of Poison -item.minecraft.lingering_potion.effect.regeneration=Lingering Potion of Regeneration -item.minecraft.lingering_potion.effect.strength=Lingering Potion of Strength -item.minecraft.lingering_potion.effect.weakness=Lingering Potion of Weakness -item.minecraft.lingering_potion.effect.levitation=Lingering Potion of Levitation -item.minecraft.lingering_potion.effect.luck=Lingering Potion of Luck -item.minecraft.lingering_potion.effect.turtle_master=Lingering Potion of the Turtle Master -item.minecraft.lingering_potion.effect.slow_falling=Lingering Potion of Slow Falling -enchantment.minecraft.sharpness=Sharpness -enchantment.minecraft.smite=Smite -enchantment.minecraft.bane_of_arthropods=Bane of Arthropods -enchantment.minecraft.knockback=Knockback -enchantment.minecraft.fire_aspect=Fire Aspect -enchantment.minecraft.sweeping=Sweeping Edge -enchantment.minecraft.protection=Protection -enchantment.minecraft.fire_protection=Fire Protection -enchantment.minecraft.feather_falling=Feather Falling -enchantment.minecraft.blast_protection=Blast Protection -enchantment.minecraft.projectile_protection=Projectile Protection -enchantment.minecraft.respiration=Respiration -enchantment.minecraft.aqua_affinity=Aqua Affinity -enchantment.minecraft.depth_strider=Depth Strider -enchantment.minecraft.frost_walker=Frost Walker -enchantment.minecraft.efficiency=Efficiency -enchantment.minecraft.silk_touch=Silk Touch -enchantment.minecraft.unbreaking=Unbreaking -enchantment.minecraft.looting=Looting -enchantment.minecraft.fortune=Fortune -enchantment.minecraft.luck_of_the_sea=Luck of the Sea -enchantment.minecraft.lure=Lure -enchantment.minecraft.power=Power -enchantment.minecraft.flame=Flame -enchantment.minecraft.punch=Punch -enchantment.minecraft.infinity=Infinity -enchantment.minecraft.thorns=Thorns -enchantment.minecraft.mending=Mending -enchantment.minecraft.binding_curse=Curse of Binding -enchantment.minecraft.vanishing_curse=Curse of Vanishing -enchantment.minecraft.loyalty=Loyalty -enchantment.minecraft.impaling=Impaling -enchantment.minecraft.riptide=Riptide -enchantment.minecraft.channeling=Channeling -enchantment.minecraft.multishot=Multishot -enchantment.minecraft.quick_charge=Quick Charge -enchantment.minecraft.piercing=Piercing -enchantment.level.1=I -enchantment.level.2=II -enchantment.level.3=III -enchantment.level.4=IV -enchantment.level.5=V -enchantment.level.6=VI -enchantment.level.7=VII -enchantment.level.8=VIII -enchantment.level.9=IX -enchantment.level.10=X \ No newline at end of file diff --git a/implementation/src/main/resources/plugin.yml b/implementation/src/main/resources/plugin.yml deleted file mode 100644 index b7bec1c..0000000 --- a/implementation/src/main/resources/plugin.yml +++ /dev/null @@ -1,93 +0,0 @@ -# Do not change anything in here unless you know what you're doing! - -name: ${project.name} -main: de.epiceric.shopchest.ShopChest -version: ${project.version} -author: EpicEric -website: ${project.url} -description: Create your own nice-looking chest shops and sell your stuff to other players! -softdepend: [WorldGuard, Towny, AuthMe, PlotSquared, uSkyBlock, ASkyBlock, IslandWorld, GriefPrevention, AreaShop, Multiverse-Core, MultiWorld] -depend: [Vault] -api-version: 1.13 - -permissions: - shopchest.*: - description: Gives access to all ShopChest permissions. - children: - shopchest.create: true - shopchest.create.buy: true - shopchest.create.sell: true - shopchest.create.admin: true - shopchest.create.protected: true - shopchest.remove.other: true - shopchest.remove.admin: true - shopchest.buy: true - shopchest.openOther: true - shopchest.notification.update: true - shopchest.reload: true - shopchest.update: true - shopchest.limit.*: true - shopchest.config: true - shopchest.extend.other: true - shopchest.extend.protected: true - shopchest.external.bypass: true - shopchest.create: - description: Allows you to create a shop. - children: - shopchest.create.buy: true - shopchest.create.sell: true - default: true - shopchest.create.buy: - description: Allows you to create a buy-shop. - default: true - shopchest.create.sell: - description: Allows you to create a sell-shop. - default: true - shopchest.create.admin: - description: Allows you to create an admin shop. - children: - shopchest.create: true - default: op - shopchest.create.protected: - description: Allows you to create a shop on a protected chest or in a protected region. - children: - shopchest.create: true - default: op - shopchest.remove.other: - description: Allows you to remove other players' shops. - default: op - shopchest.remove.admin: - description: Allows you to remove admin shops. - default: op - shopchest.buy: - description: Allows you to buy something. - default: true - shopchest.sell: - description: Allows you to sell something. - default: true - shopchest.openOther: - description: Allows you to open other players' shops. - default: op - shopchest.notification.update: - description: Allows you to get update notification on join. - default: op - shopchest.reload: - description: Allows you to reload the shops. - default: op - shopchest.update: - description: Allows you to check for updates. - default: op - shopchest.limit.*: - default: op - shopchest.config: - description: Allows you to change configuration values per command. - default: op - shopchest.extend.other: - description: Allows you to extend other players' shops. - default: op - shopchest.extend.protected: - description: Allows you to extend shops into a protected region. - default: op - shopchest.external.bypass: - description: Allows you to to use shops regions/plots that deny shop use. - default: op diff --git a/pom.xml b/pom.xml index cd1fb68..8e0f16e 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,6 @@ api - implementation new-implementation nms