From 08286e6beb5234bf9cc5f298800ba58943e3a40b Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 22 Jun 2016 20:51:19 +0200 Subject: [PATCH] Added configurable language for everything and more This can read the default minecraft language files, but in order to translate the messages, you need to add the message section from the en_US.lang. Also, spawn eggs will work now, the title of music discs will be displayed in the info sections and "tipped arrow effect" is now named "potion effect" and is displayed also if the product is a potion, splashed potion or a lingering potion (and of course tipped arrows). The message configuration is no longer found in the config.yml file, but has gone to the .lang file, so you need to reconfigure every message! As the Jsoup library is no longer needed, the filesize of the final jar shrunk quite a bit. Maybe there are some more changes, which I already forgot. --- config.yml | 290 +-- lang/de_DE.lang | 1528 +++++++++++++ lang/en_US.lang | 1691 ++++++++++++++ libs/org/jsoup/Connection$Base.class | Bin 1207 -> 0 bytes libs/org/jsoup/Connection$KeyVal.class | Bin 447 -> 0 bytes libs/org/jsoup/Connection$Method.class | Bin 1347 -> 0 bytes libs/org/jsoup/Connection$Request.class | Bin 1083 -> 0 bytes libs/org/jsoup/Connection$Response.class | Bin 590 -> 0 bytes libs/org/jsoup/Connection.class | Bin 1876 -> 0 bytes libs/org/jsoup/HttpStatusException.class | Bin 989 -> 0 bytes libs/org/jsoup/Jsoup.class | Bin 4076 -> 0 bytes .../jsoup/UnsupportedMimeTypeException.class | Bin 980 -> 0 bytes .../jsoup/examples/HtmlToPlainText$1.class | Bin 231 -> 0 bytes .../HtmlToPlainText$FormattingVisitor.class | Bin 3032 -> 0 bytes libs/org/jsoup/examples/HtmlToPlainText.class | Bin 2569 -> 0 bytes libs/org/jsoup/examples/ListLinks.class | Bin 3055 -> 0 bytes libs/org/jsoup/helper/DataUtil.class | Bin 7077 -> 0 bytes .../helper/DescendableLinkedList$1.class | Bin 245 -> 0 bytes ...endableLinkedList$DescendingIterator.class | Bin 1727 -> 0 bytes .../jsoup/helper/DescendableLinkedList.class | Bin 1452 -> 0 bytes libs/org/jsoup/helper/HttpConnection$1.class | Bin 224 -> 0 bytes .../jsoup/helper/HttpConnection$Base.class | Bin 5363 -> 0 bytes .../jsoup/helper/HttpConnection$KeyVal.class | Bin 2499 -> 0 bytes .../jsoup/helper/HttpConnection$Request.class | Bin 5740 -> 0 bytes .../helper/HttpConnection$Response$1.class | Bin 797 -> 0 bytes .../helper/HttpConnection$Response$2.class | Bin 1003 -> 0 bytes .../helper/HttpConnection$Response.class | Bin 16522 -> 0 bytes libs/org/jsoup/helper/HttpConnection.class | Bin 9013 -> 0 bytes libs/org/jsoup/helper/StringUtil.class | Bin 4620 -> 0 bytes libs/org/jsoup/helper/Validate.class | Bin 1879 -> 0 bytes libs/org/jsoup/helper/W3CDom$W3CBuilder.class | Bin 2803 -> 0 bytes libs/org/jsoup/helper/W3CDom.class | Bin 3223 -> 0 bytes libs/org/jsoup/nodes/Attribute.class | Bin 5245 -> 0 bytes libs/org/jsoup/nodes/Attributes$1.class | Bin 210 -> 0 bytes .../Attributes$Dataset$DatasetIterator.class | Bin 2366 -> 0 bytes .../nodes/Attributes$Dataset$EntrySet.class | Bin 1507 -> 0 bytes libs/org/jsoup/nodes/Attributes$Dataset.class | Bin 2354 -> 0 bytes libs/org/jsoup/nodes/Attributes.class | Bin 6208 -> 0 bytes libs/org/jsoup/nodes/BooleanAttribute.class | Bin 509 -> 0 bytes libs/org/jsoup/nodes/Comment.class | Bin 1645 -> 0 bytes libs/org/jsoup/nodes/DataNode.class | Bin 1928 -> 0 bytes .../Document$OutputSettings$Syntax.class | Bin 1221 -> 0 bytes .../jsoup/nodes/Document$OutputSettings.class | Bin 3544 -> 0 bytes .../org/jsoup/nodes/Document$QuirksMode.class | Bin 1156 -> 0 bytes libs/org/jsoup/nodes/Document.class | Bin 7800 -> 0 bytes libs/org/jsoup/nodes/DocumentType.class | Bin 2148 -> 0 bytes libs/org/jsoup/nodes/Element$1.class | Bin 1586 -> 0 bytes libs/org/jsoup/nodes/Element.class | Bin 23050 -> 0 bytes libs/org/jsoup/nodes/Entities$1.class | Bin 758 -> 0 bytes .../jsoup/nodes/Entities$CoreCharset.class | Bin 1488 -> 0 bytes .../org/jsoup/nodes/Entities$EscapeMode.class | Bin 1673 -> 0 bytes libs/org/jsoup/nodes/Entities.class | Bin 7555 -> 0 bytes libs/org/jsoup/nodes/FormElement.class | Bin 3605 -> 0 bytes libs/org/jsoup/nodes/Node$1.class | Bin 855 -> 0 bytes .../jsoup/nodes/Node$OuterHtmlVisitor.class | Bin 1287 -> 0 bytes libs/org/jsoup/nodes/Node.class | Bin 12006 -> 0 bytes libs/org/jsoup/nodes/TextNode.class | Bin 5344 -> 0 bytes libs/org/jsoup/nodes/XmlDeclaration.class | Bin 2130 -> 0 bytes libs/org/jsoup/nodes/entities-base.properties | 106 - libs/org/jsoup/nodes/entities-full.properties | 2032 ----------------- libs/org/jsoup/parser/CharacterReader.class | Bin 7367 -> 0 bytes libs/org/jsoup/parser/HtmlTreeBuilder.class | Bin 21695 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$1.class | Bin 2235 -> 0 bytes .../parser/HtmlTreeBuilderState$10.class | Bin 2888 -> 0 bytes .../parser/HtmlTreeBuilderState$11.class | Bin 2557 -> 0 bytes .../parser/HtmlTreeBuilderState$12.class | Bin 3148 -> 0 bytes .../parser/HtmlTreeBuilderState$13.class | Bin 3192 -> 0 bytes .../parser/HtmlTreeBuilderState$14.class | Bin 3080 -> 0 bytes .../parser/HtmlTreeBuilderState$15.class | Bin 2875 -> 0 bytes .../parser/HtmlTreeBuilderState$16.class | Bin 3785 -> 0 bytes .../parser/HtmlTreeBuilderState$17.class | Bin 1917 -> 0 bytes .../parser/HtmlTreeBuilderState$18.class | Bin 2036 -> 0 bytes .../parser/HtmlTreeBuilderState$19.class | Bin 2737 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$2.class | Bin 2273 -> 0 bytes .../parser/HtmlTreeBuilderState$20.class | Bin 2204 -> 0 bytes .../parser/HtmlTreeBuilderState$21.class | Bin 1742 -> 0 bytes .../parser/HtmlTreeBuilderState$22.class | Bin 1766 -> 0 bytes .../parser/HtmlTreeBuilderState$23.class | Bin 771 -> 0 bytes .../parser/HtmlTreeBuilderState$24.class | Bin 1024 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$3.class | Bin 2310 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$4.class | Bin 4042 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$5.class | Bin 2503 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$6.class | Bin 3212 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$7.class | Bin 13720 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$8.class | Bin 1435 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState$9.class | Bin 4308 -> 0 bytes .../HtmlTreeBuilderState$Constants.class | Bin 3962 -> 0 bytes .../jsoup/parser/HtmlTreeBuilderState.class | Bin 6213 -> 0 bytes libs/org/jsoup/parser/ParseError.class | Bin 1179 -> 0 bytes libs/org/jsoup/parser/ParseErrorList.class | Bin 944 -> 0 bytes libs/org/jsoup/parser/Parser.class | Bin 4602 -> 0 bytes libs/org/jsoup/parser/Tag.class | Bin 6916 -> 0 bytes libs/org/jsoup/parser/Token$1.class | Bin 197 -> 0 bytes libs/org/jsoup/parser/Token$Character.class | Bin 1011 -> 0 bytes libs/org/jsoup/parser/Token$Comment.class | Bin 1145 -> 0 bytes libs/org/jsoup/parser/Token$Doctype.class | Bin 1352 -> 0 bytes libs/org/jsoup/parser/Token$EOF.class | Bin 628 -> 0 bytes libs/org/jsoup/parser/Token$EndTag.class | Bin 778 -> 0 bytes libs/org/jsoup/parser/Token$StartTag.class | Bin 1452 -> 0 bytes libs/org/jsoup/parser/Token$Tag.class | Bin 3517 -> 0 bytes libs/org/jsoup/parser/Token$TokenType.class | Bin 1295 -> 0 bytes libs/org/jsoup/parser/Token.class | Bin 2571 -> 0 bytes libs/org/jsoup/parser/TokenQueue.class | Bin 6341 -> 0 bytes libs/org/jsoup/parser/Tokeniser.class | Bin 9210 -> 0 bytes libs/org/jsoup/parser/TokeniserState$1.class | Bin 1414 -> 0 bytes libs/org/jsoup/parser/TokeniserState$10.class | Bin 1624 -> 0 bytes libs/org/jsoup/parser/TokeniserState$11.class | Bin 1851 -> 0 bytes libs/org/jsoup/parser/TokeniserState$12.class | Bin 1594 -> 0 bytes libs/org/jsoup/parser/TokeniserState$13.class | Bin 2126 -> 0 bytes libs/org/jsoup/parser/TokeniserState$14.class | Bin 1128 -> 0 bytes libs/org/jsoup/parser/TokeniserState$15.class | Bin 1230 -> 0 bytes libs/org/jsoup/parser/TokeniserState$16.class | Bin 930 -> 0 bytes libs/org/jsoup/parser/TokeniserState$17.class | Bin 1254 -> 0 bytes libs/org/jsoup/parser/TokeniserState$18.class | Bin 1236 -> 0 bytes libs/org/jsoup/parser/TokeniserState$19.class | Bin 933 -> 0 bytes libs/org/jsoup/parser/TokeniserState$2.class | Bin 1063 -> 0 bytes libs/org/jsoup/parser/TokeniserState$20.class | Bin 1096 -> 0 bytes libs/org/jsoup/parser/TokeniserState$21.class | Bin 1096 -> 0 bytes libs/org/jsoup/parser/TokeniserState$22.class | Bin 1492 -> 0 bytes libs/org/jsoup/parser/TokeniserState$23.class | Bin 1357 -> 0 bytes libs/org/jsoup/parser/TokeniserState$24.class | Bin 1366 -> 0 bytes libs/org/jsoup/parser/TokeniserState$25.class | Bin 1667 -> 0 bytes libs/org/jsoup/parser/TokeniserState$26.class | Bin 1613 -> 0 bytes libs/org/jsoup/parser/TokeniserState$27.class | Bin 940 -> 0 bytes libs/org/jsoup/parser/TokeniserState$28.class | Bin 1012 -> 0 bytes libs/org/jsoup/parser/TokeniserState$29.class | Bin 1509 -> 0 bytes libs/org/jsoup/parser/TokeniserState$3.class | Bin 1505 -> 0 bytes libs/org/jsoup/parser/TokeniserState$30.class | Bin 1357 -> 0 bytes libs/org/jsoup/parser/TokeniserState$31.class | Bin 1360 -> 0 bytes libs/org/jsoup/parser/TokeniserState$32.class | Bin 1152 -> 0 bytes libs/org/jsoup/parser/TokeniserState$33.class | Bin 1012 -> 0 bytes libs/org/jsoup/parser/TokeniserState$34.class | Bin 1643 -> 0 bytes libs/org/jsoup/parser/TokeniserState$35.class | Bin 1848 -> 0 bytes libs/org/jsoup/parser/TokeniserState$36.class | Bin 1693 -> 0 bytes libs/org/jsoup/parser/TokeniserState$37.class | Bin 1723 -> 0 bytes libs/org/jsoup/parser/TokeniserState$38.class | Bin 1879 -> 0 bytes libs/org/jsoup/parser/TokeniserState$39.class | Bin 1879 -> 0 bytes libs/org/jsoup/parser/TokeniserState$4.class | Bin 1065 -> 0 bytes libs/org/jsoup/parser/TokeniserState$40.class | Bin 2019 -> 0 bytes libs/org/jsoup/parser/TokeniserState$41.class | Bin 1330 -> 0 bytes libs/org/jsoup/parser/TokeniserState$42.class | Bin 1352 -> 0 bytes libs/org/jsoup/parser/TokeniserState$43.class | Bin 1428 -> 0 bytes libs/org/jsoup/parser/TokeniserState$44.class | Bin 1315 -> 0 bytes libs/org/jsoup/parser/TokeniserState$45.class | Bin 1570 -> 0 bytes libs/org/jsoup/parser/TokeniserState$46.class | Bin 1570 -> 0 bytes libs/org/jsoup/parser/TokeniserState$47.class | Bin 1674 -> 0 bytes libs/org/jsoup/parser/TokeniserState$48.class | Bin 1531 -> 0 bytes libs/org/jsoup/parser/TokeniserState$49.class | Bin 1694 -> 0 bytes libs/org/jsoup/parser/TokeniserState$5.class | Bin 1436 -> 0 bytes libs/org/jsoup/parser/TokeniserState$50.class | Bin 1653 -> 0 bytes libs/org/jsoup/parser/TokeniserState$51.class | Bin 1460 -> 0 bytes libs/org/jsoup/parser/TokeniserState$52.class | Bin 1698 -> 0 bytes libs/org/jsoup/parser/TokeniserState$53.class | Bin 1869 -> 0 bytes libs/org/jsoup/parser/TokeniserState$54.class | Bin 1716 -> 0 bytes libs/org/jsoup/parser/TokeniserState$55.class | Bin 1674 -> 0 bytes libs/org/jsoup/parser/TokeniserState$56.class | Bin 1603 -> 0 bytes libs/org/jsoup/parser/TokeniserState$57.class | Bin 1614 -> 0 bytes libs/org/jsoup/parser/TokeniserState$58.class | Bin 1614 -> 0 bytes libs/org/jsoup/parser/TokeniserState$59.class | Bin 1664 -> 0 bytes libs/org/jsoup/parser/TokeniserState$6.class | Bin 1439 -> 0 bytes libs/org/jsoup/parser/TokeniserState$60.class | Bin 1600 -> 0 bytes libs/org/jsoup/parser/TokeniserState$61.class | Bin 1646 -> 0 bytes libs/org/jsoup/parser/TokeniserState$62.class | Bin 1603 -> 0 bytes libs/org/jsoup/parser/TokeniserState$63.class | Bin 1614 -> 0 bytes libs/org/jsoup/parser/TokeniserState$64.class | Bin 1614 -> 0 bytes libs/org/jsoup/parser/TokeniserState$65.class | Bin 1420 -> 0 bytes libs/org/jsoup/parser/TokeniserState$66.class | Bin 1096 -> 0 bytes libs/org/jsoup/parser/TokeniserState$67.class | Bin 1165 -> 0 bytes libs/org/jsoup/parser/TokeniserState$7.class | Bin 1297 -> 0 bytes libs/org/jsoup/parser/TokeniserState$8.class | Bin 1453 -> 0 bytes libs/org/jsoup/parser/TokeniserState$9.class | Bin 1435 -> 0 bytes libs/org/jsoup/parser/TokeniserState.class | Bin 12464 -> 0 bytes libs/org/jsoup/parser/TreeBuilder.class | Bin 3744 -> 0 bytes libs/org/jsoup/parser/XmlTreeBuilder$1.class | Bin 1005 -> 0 bytes libs/org/jsoup/parser/XmlTreeBuilder.class | Bin 6538 -> 0 bytes libs/org/jsoup/safety/Cleaner$1.class | Bin 203 -> 0 bytes .../safety/Cleaner$CleaningVisitor.class | Bin 2859 -> 0 bytes .../jsoup/safety/Cleaner$ElementMeta.class | Bin 548 -> 0 bytes libs/org/jsoup/safety/Cleaner.class | Bin 3746 -> 0 bytes .../jsoup/safety/Whitelist$AttributeKey.class | Bin 638 -> 0 bytes .../safety/Whitelist$AttributeValue.class | Bin 646 -> 0 bytes .../org/jsoup/safety/Whitelist$Protocol.class | Bin 622 -> 0 bytes libs/org/jsoup/safety/Whitelist$TagName.class | Bin 618 -> 0 bytes .../jsoup/safety/Whitelist$TypedValue.class | Bin 1135 -> 0 bytes libs/org/jsoup/safety/Whitelist.class | Bin 11225 -> 0 bytes .../jsoup/select/Collector$Accumulator.class | Bin 1254 -> 0 bytes libs/org/jsoup/select/Collector.class | Bin 966 -> 0 bytes .../jsoup/select/CombiningEvaluator$And.class | Bin 1547 -> 0 bytes .../jsoup/select/CombiningEvaluator$Or.class | Bin 1773 -> 0 bytes .../org/jsoup/select/CombiningEvaluator.class | Bin 1598 -> 0 bytes libs/org/jsoup/select/Elements.class | Bin 8252 -> 0 bytes .../jsoup/select/Evaluator$AllElements.class | Bin 654 -> 0 bytes .../jsoup/select/Evaluator$Attribute.class | Bin 960 -> 0 bytes .../select/Evaluator$AttributeKeyPair.class | Bin 910 -> 0 bytes .../select/Evaluator$AttributeStarting.class | Bin 1580 -> 0 bytes .../select/Evaluator$AttributeWithValue.class | Bin 1231 -> 0 bytes ...aluator$AttributeWithValueContaining.class | Bin 1291 -> 0 bytes .../Evaluator$AttributeWithValueEnding.class | Bin 1249 -> 0 bytes ...Evaluator$AttributeWithValueMatching.class | Bin 1424 -> 0 bytes .../Evaluator$AttributeWithValueNot.class | Bin 1190 -> 0 bytes ...Evaluator$AttributeWithValueStarting.class | Bin 1257 -> 0 bytes libs/org/jsoup/select/Evaluator$Class.class | Bin 954 -> 0 bytes .../select/Evaluator$ContainsOwnText.class | Bin 1056 -> 0 bytes .../jsoup/select/Evaluator$ContainsText.class | Bin 1041 -> 0 bytes .../select/Evaluator$CssNthEvaluator.class | Bin 1569 -> 0 bytes libs/org/jsoup/select/Evaluator$Id.class | Bin 949 -> 0 bytes .../jsoup/select/Evaluator$IndexEquals.class | Bin 1108 -> 0 bytes .../select/Evaluator$IndexEvaluator.class | Bin 434 -> 0 bytes .../select/Evaluator$IndexGreaterThan.class | Bin 1123 -> 0 bytes .../select/Evaluator$IndexLessThan.class | Bin 1114 -> 0 bytes libs/org/jsoup/select/Evaluator$IsEmpty.class | Bin 1193 -> 0 bytes .../jsoup/select/Evaluator$IsFirstChild.class | Bin 930 -> 0 bytes .../select/Evaluator$IsFirstOfType.class | Bin 564 -> 0 bytes .../jsoup/select/Evaluator$IsLastChild.class | Bin 1036 -> 0 bytes .../jsoup/select/Evaluator$IsLastOfType.class | Bin 568 -> 0 bytes .../jsoup/select/Evaluator$IsNthChild.class | Bin 932 -> 0 bytes .../select/Evaluator$IsNthLastChild.class | Bin 1108 -> 0 bytes .../select/Evaluator$IsNthLastOfType.class | Bin 1409 -> 0 bytes .../jsoup/select/Evaluator$IsNthOfType.class | Bin 1304 -> 0 bytes .../jsoup/select/Evaluator$IsOnlyChild.class | Bin 934 -> 0 bytes .../jsoup/select/Evaluator$IsOnlyOfType.class | Bin 1243 -> 0 bytes libs/org/jsoup/select/Evaluator$IsRoot.class | Bin 795 -> 0 bytes libs/org/jsoup/select/Evaluator$Matches.class | Bin 1161 -> 0 bytes .../jsoup/select/Evaluator$MatchesOwn.class | Bin 1176 -> 0 bytes libs/org/jsoup/select/Evaluator$Tag.class | Bin 956 -> 0 bytes libs/org/jsoup/select/Evaluator.class | Bin 2789 -> 0 bytes libs/org/jsoup/select/NodeTraversor.class | Bin 1032 -> 0 bytes libs/org/jsoup/select/NodeVisitor.class | Bin 179 -> 0 bytes libs/org/jsoup/select/QueryParser.class | Bin 13040 -> 0 bytes .../Selector$SelectorParseException.class | Bin 680 -> 0 bytes libs/org/jsoup/select/Selector.class | Bin 3346 -> 0 bytes .../select/StructuralEvaluator$Has.class | Bin 1303 -> 0 bytes .../StructuralEvaluator$ImmediateParent.class | Bin 1144 -> 0 bytes ...alEvaluator$ImmediatePreviousSibling.class | Bin 1183 -> 0 bytes .../select/StructuralEvaluator$Not.class | Bin 977 -> 0 bytes .../select/StructuralEvaluator$Parent.class | Bin 1131 -> 0 bytes .../StructuralEvaluator$PreviousSibling.class | Bin 1179 -> 0 bytes .../select/StructuralEvaluator$Root.class | Bin 614 -> 0 bytes .../jsoup/select/StructuralEvaluator.class | Bin 922 -> 0 bytes src/de/epiceric/shopchest/Commands.java | 120 +- src/de/epiceric/shopchest/ShopChest.java | 244 +- src/de/epiceric/shopchest/config/Config.java | 367 +-- .../config/LanguageConfiguration.java | 92 + src/de/epiceric/shopchest/config/Regex.java | 39 +- .../shopchest/event/InteractShop.java | 146 +- .../shopchest/event/LWCMagnetListener.java | 13 +- .../shopchest/event/NotifyUpdate.java | 31 +- .../shopchest/event/ProtectChest.java | 13 +- .../event/RegenerateShopItemAfterRemove.java | 18 +- .../shopchest/event/UpdateHolograms.java | 2 +- .../shopchest/interfaces/SpawnEggMeta.java | 32 + .../jsonbuilder/JsonBuilder_1_10_R1.java | 12 +- .../jsonbuilder/JsonBuilder_1_8_R1.java | 12 +- .../jsonbuilder/JsonBuilder_1_8_R2.java | 12 +- .../jsonbuilder/JsonBuilder_1_8_R3.java | 12 +- .../jsonbuilder/JsonBuilder_1_9_R1.java | 12 +- .../jsonbuilder/JsonBuilder_1_9_R2.java | 12 +- .../spawneggmeta/SpawnEggMeta_1_10_R1.java | 24 + .../spawneggmeta/SpawnEggMeta_1_8_R1.java | 24 + .../spawneggmeta/SpawnEggMeta_1_8_R2.java | 24 + .../spawneggmeta/SpawnEggMeta_1_8_R3.java | 24 + .../spawneggmeta/SpawnEggMeta_1_9_R1.java | 24 + .../spawneggmeta/SpawnEggMeta_1_9_R2.java | 24 + .../shopchest/language/EnchantmentName.java | 42 + .../shopchest/language/EntityName.java | 22 + .../epiceric/shopchest/language/ItemName.java | 35 + .../shopchest/language/LanguageUtils.java | 1079 +++++++++ .../shopchest/language/LocalizedMessage.java | 128 ++ .../shopchest/language/MusicDiscName.java | 23 + .../shopchest/language/PotionEffectName.java | 24 + .../shopchest/language/PotionName.java | 36 + src/de/epiceric/shopchest/shop/Shop.java | 24 +- src/de/epiceric/shopchest/sql/Database.java | 2 +- src/de/epiceric/shopchest/sql/MySQL.java | 6 +- .../shopchest/utils/ArrowEffectNames.java | 108 - .../epiceric/shopchest/utils/ColorNames.java | 33 - .../shopchest/utils/EnchantmentNames.java | 83 - .../epiceric/shopchest/utils/ItemNames.java | 676 ------ .../epiceric/shopchest/utils/ShopUtils.java | 56 +- .../shopchest/utils/UpdateChecker.java | 47 +- src/de/epiceric/shopchest/utils/Utils.java | 15 +- 281 files changed, 5422 insertions(+), 3997 deletions(-) create mode 100644 lang/de_DE.lang create mode 100644 lang/en_US.lang delete mode 100644 libs/org/jsoup/Connection$Base.class delete mode 100644 libs/org/jsoup/Connection$KeyVal.class delete mode 100644 libs/org/jsoup/Connection$Method.class delete mode 100644 libs/org/jsoup/Connection$Request.class delete mode 100644 libs/org/jsoup/Connection$Response.class delete mode 100644 libs/org/jsoup/Connection.class delete mode 100644 libs/org/jsoup/HttpStatusException.class delete mode 100644 libs/org/jsoup/Jsoup.class delete mode 100644 libs/org/jsoup/UnsupportedMimeTypeException.class delete mode 100644 libs/org/jsoup/examples/HtmlToPlainText$1.class delete mode 100644 libs/org/jsoup/examples/HtmlToPlainText$FormattingVisitor.class delete mode 100644 libs/org/jsoup/examples/HtmlToPlainText.class delete mode 100644 libs/org/jsoup/examples/ListLinks.class delete mode 100644 libs/org/jsoup/helper/DataUtil.class delete mode 100644 libs/org/jsoup/helper/DescendableLinkedList$1.class delete mode 100644 libs/org/jsoup/helper/DescendableLinkedList$DescendingIterator.class delete mode 100644 libs/org/jsoup/helper/DescendableLinkedList.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$1.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$Base.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$KeyVal.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$Request.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$Response$1.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$Response$2.class delete mode 100644 libs/org/jsoup/helper/HttpConnection$Response.class delete mode 100644 libs/org/jsoup/helper/HttpConnection.class delete mode 100644 libs/org/jsoup/helper/StringUtil.class delete mode 100644 libs/org/jsoup/helper/Validate.class delete mode 100644 libs/org/jsoup/helper/W3CDom$W3CBuilder.class delete mode 100644 libs/org/jsoup/helper/W3CDom.class delete mode 100644 libs/org/jsoup/nodes/Attribute.class delete mode 100644 libs/org/jsoup/nodes/Attributes$1.class delete mode 100644 libs/org/jsoup/nodes/Attributes$Dataset$DatasetIterator.class delete mode 100644 libs/org/jsoup/nodes/Attributes$Dataset$EntrySet.class delete mode 100644 libs/org/jsoup/nodes/Attributes$Dataset.class delete mode 100644 libs/org/jsoup/nodes/Attributes.class delete mode 100644 libs/org/jsoup/nodes/BooleanAttribute.class delete mode 100644 libs/org/jsoup/nodes/Comment.class delete mode 100644 libs/org/jsoup/nodes/DataNode.class delete mode 100644 libs/org/jsoup/nodes/Document$OutputSettings$Syntax.class delete mode 100644 libs/org/jsoup/nodes/Document$OutputSettings.class delete mode 100644 libs/org/jsoup/nodes/Document$QuirksMode.class delete mode 100644 libs/org/jsoup/nodes/Document.class delete mode 100644 libs/org/jsoup/nodes/DocumentType.class delete mode 100644 libs/org/jsoup/nodes/Element$1.class delete mode 100644 libs/org/jsoup/nodes/Element.class delete mode 100644 libs/org/jsoup/nodes/Entities$1.class delete mode 100644 libs/org/jsoup/nodes/Entities$CoreCharset.class delete mode 100644 libs/org/jsoup/nodes/Entities$EscapeMode.class delete mode 100644 libs/org/jsoup/nodes/Entities.class delete mode 100644 libs/org/jsoup/nodes/FormElement.class delete mode 100644 libs/org/jsoup/nodes/Node$1.class delete mode 100644 libs/org/jsoup/nodes/Node$OuterHtmlVisitor.class delete mode 100644 libs/org/jsoup/nodes/Node.class delete mode 100644 libs/org/jsoup/nodes/TextNode.class delete mode 100644 libs/org/jsoup/nodes/XmlDeclaration.class delete mode 100644 libs/org/jsoup/nodes/entities-base.properties delete mode 100644 libs/org/jsoup/nodes/entities-full.properties delete mode 100644 libs/org/jsoup/parser/CharacterReader.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilder.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$1.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$10.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$11.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$12.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$13.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$14.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$15.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$16.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$17.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$18.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$19.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$2.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$20.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$21.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$22.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$23.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$24.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$3.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$4.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$5.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$6.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$7.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$8.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$9.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState$Constants.class delete mode 100644 libs/org/jsoup/parser/HtmlTreeBuilderState.class delete mode 100644 libs/org/jsoup/parser/ParseError.class delete mode 100644 libs/org/jsoup/parser/ParseErrorList.class delete mode 100644 libs/org/jsoup/parser/Parser.class delete mode 100644 libs/org/jsoup/parser/Tag.class delete mode 100644 libs/org/jsoup/parser/Token$1.class delete mode 100644 libs/org/jsoup/parser/Token$Character.class delete mode 100644 libs/org/jsoup/parser/Token$Comment.class delete mode 100644 libs/org/jsoup/parser/Token$Doctype.class delete mode 100644 libs/org/jsoup/parser/Token$EOF.class delete mode 100644 libs/org/jsoup/parser/Token$EndTag.class delete mode 100644 libs/org/jsoup/parser/Token$StartTag.class delete mode 100644 libs/org/jsoup/parser/Token$Tag.class delete mode 100644 libs/org/jsoup/parser/Token$TokenType.class delete mode 100644 libs/org/jsoup/parser/Token.class delete mode 100644 libs/org/jsoup/parser/TokenQueue.class delete mode 100644 libs/org/jsoup/parser/Tokeniser.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$1.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$10.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$11.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$12.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$13.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$14.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$15.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$16.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$17.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$18.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$19.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$2.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$20.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$21.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$22.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$23.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$24.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$25.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$26.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$27.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$28.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$29.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$3.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$30.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$31.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$32.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$33.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$34.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$35.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$36.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$37.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$38.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$39.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$4.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$40.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$41.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$42.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$43.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$44.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$45.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$46.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$47.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$48.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$49.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$5.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$50.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$51.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$52.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$53.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$54.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$55.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$56.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$57.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$58.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$59.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$6.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$60.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$61.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$62.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$63.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$64.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$65.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$66.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$67.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$7.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$8.class delete mode 100644 libs/org/jsoup/parser/TokeniserState$9.class delete mode 100644 libs/org/jsoup/parser/TokeniserState.class delete mode 100644 libs/org/jsoup/parser/TreeBuilder.class delete mode 100644 libs/org/jsoup/parser/XmlTreeBuilder$1.class delete mode 100644 libs/org/jsoup/parser/XmlTreeBuilder.class delete mode 100644 libs/org/jsoup/safety/Cleaner$1.class delete mode 100644 libs/org/jsoup/safety/Cleaner$CleaningVisitor.class delete mode 100644 libs/org/jsoup/safety/Cleaner$ElementMeta.class delete mode 100644 libs/org/jsoup/safety/Cleaner.class delete mode 100644 libs/org/jsoup/safety/Whitelist$AttributeKey.class delete mode 100644 libs/org/jsoup/safety/Whitelist$AttributeValue.class delete mode 100644 libs/org/jsoup/safety/Whitelist$Protocol.class delete mode 100644 libs/org/jsoup/safety/Whitelist$TagName.class delete mode 100644 libs/org/jsoup/safety/Whitelist$TypedValue.class delete mode 100644 libs/org/jsoup/safety/Whitelist.class delete mode 100644 libs/org/jsoup/select/Collector$Accumulator.class delete mode 100644 libs/org/jsoup/select/Collector.class delete mode 100644 libs/org/jsoup/select/CombiningEvaluator$And.class delete mode 100644 libs/org/jsoup/select/CombiningEvaluator$Or.class delete mode 100644 libs/org/jsoup/select/CombiningEvaluator.class delete mode 100644 libs/org/jsoup/select/Elements.class delete mode 100644 libs/org/jsoup/select/Evaluator$AllElements.class delete mode 100644 libs/org/jsoup/select/Evaluator$Attribute.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeKeyPair.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeStarting.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValue.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValueContaining.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValueEnding.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValueMatching.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValueNot.class delete mode 100644 libs/org/jsoup/select/Evaluator$AttributeWithValueStarting.class delete mode 100644 libs/org/jsoup/select/Evaluator$Class.class delete mode 100644 libs/org/jsoup/select/Evaluator$ContainsOwnText.class delete mode 100644 libs/org/jsoup/select/Evaluator$ContainsText.class delete mode 100644 libs/org/jsoup/select/Evaluator$CssNthEvaluator.class delete mode 100644 libs/org/jsoup/select/Evaluator$Id.class delete mode 100644 libs/org/jsoup/select/Evaluator$IndexEquals.class delete mode 100644 libs/org/jsoup/select/Evaluator$IndexEvaluator.class delete mode 100644 libs/org/jsoup/select/Evaluator$IndexGreaterThan.class delete mode 100644 libs/org/jsoup/select/Evaluator$IndexLessThan.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsEmpty.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsFirstChild.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsFirstOfType.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsLastChild.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsLastOfType.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsNthChild.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsNthLastChild.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsNthLastOfType.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsNthOfType.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsOnlyChild.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsOnlyOfType.class delete mode 100644 libs/org/jsoup/select/Evaluator$IsRoot.class delete mode 100644 libs/org/jsoup/select/Evaluator$Matches.class delete mode 100644 libs/org/jsoup/select/Evaluator$MatchesOwn.class delete mode 100644 libs/org/jsoup/select/Evaluator$Tag.class delete mode 100644 libs/org/jsoup/select/Evaluator.class delete mode 100644 libs/org/jsoup/select/NodeTraversor.class delete mode 100644 libs/org/jsoup/select/NodeVisitor.class delete mode 100644 libs/org/jsoup/select/QueryParser.class delete mode 100644 libs/org/jsoup/select/Selector$SelectorParseException.class delete mode 100644 libs/org/jsoup/select/Selector.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$Has.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$ImmediateParent.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$ImmediatePreviousSibling.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$Not.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$Parent.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$PreviousSibling.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator$Root.class delete mode 100644 libs/org/jsoup/select/StructuralEvaluator.class create mode 100644 src/de/epiceric/shopchest/config/LanguageConfiguration.java create mode 100644 src/de/epiceric/shopchest/interfaces/SpawnEggMeta.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_10_R1.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R1.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R2.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R3.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R1.java create mode 100644 src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R2.java create mode 100644 src/de/epiceric/shopchest/language/EnchantmentName.java create mode 100644 src/de/epiceric/shopchest/language/EntityName.java create mode 100644 src/de/epiceric/shopchest/language/ItemName.java create mode 100644 src/de/epiceric/shopchest/language/LanguageUtils.java create mode 100644 src/de/epiceric/shopchest/language/LocalizedMessage.java create mode 100644 src/de/epiceric/shopchest/language/MusicDiscName.java create mode 100644 src/de/epiceric/shopchest/language/PotionEffectName.java create mode 100644 src/de/epiceric/shopchest/language/PotionName.java delete mode 100644 src/de/epiceric/shopchest/utils/ArrowEffectNames.java delete mode 100644 src/de/epiceric/shopchest/utils/ColorNames.java delete mode 100644 src/de/epiceric/shopchest/utils/EnchantmentNames.java delete mode 100644 src/de/epiceric/shopchest/utils/ItemNames.java diff --git a/config.yml b/config.yml index b2116eb..f8b5058 100644 --- a/config.yml +++ b/config.yml @@ -1,42 +1,16 @@ # =============================================== -# == Default Configuration File of 'ShopChest' == +# ====== Configuration File of 'ShopChest' ====== # =============================================== # # Lines starting with '#' are comments and are ignored by the server. -# -# If you are using special characters be sure to save this file in ANSI encoding! -# -# Color Codes (Must be BEFORE Formatting Codes): -# &0 = Black -# &1 = Dark Blue -# &2 = Dark Green -# &3 = Dark Aqua -# &4 = Dark Red -# &5 = Dark Purple -# &6 = Gold -# &7 = Gray -# &8 = Dark Gray -# &9 = Blue -# &a = Green -# &b = Aqua -# &c = Red -# &d = Light Purple -# &e = Yellow -# &f = White -# -# Formatting Codes (Must be AFTER Color Codes): -# &k = Obfuscated -# &l = Bold -# &m = Strikethrough -# &n = Underline -# &o = Italic -# &r = Reset -# \n = Extra line # Set the main command you have to enter to manage the shops (default: "/shop ...") -# DO NOT USE COLOR-/FORMATTING CODES HERE! main-command-name: "shop" +# Set the language of the item-, enchantment-, potion- and arrow-effect names +# The value must equal to the name of one of a file in the 'lang' folder (without the '.lang' extension) +language-file: "de_DE" + # Set the maximal distance to the shop where the player can see the hologram. # Value MUST be a number (e.g. 1, 1.5, 2.75, ...) maximal-distance: 1.75 @@ -86,7 +60,7 @@ database: # Either use 'SQLite' or 'MySQL'. Otherwise you will break the plugin! type: "SQLite" - # If the specified is 'MySQL', specify the... + # If the specified type is 'MySQL', here you configure the... # (You can leave this empty if you're using SQLite) mysql: @@ -127,254 +101,4 @@ shop-limits: # Important: You must have exactly 4 spaces between the text and the edge. player: [] # "EpicEric": 50 - # "898afbbe-6566-4a0f-b0ac-145868b3cb12": 50 - -messages: - - # Set the message when a shop is created at the clicked chest. - shop-created: "&6Shop created." - - # Set the message when the clicked chest already is a shop. - chest-already-shop: "&cChest already is shop." - - # Set the message when the clicked shop is removed. - shop-removed: "&6Shop removed." - - # Set the message when the clicked chest is not a shop. - chest-no-shop: "&cChest is not a shop." - - # Set the message when the player doesn't have enough money to create a shop - # Usable Regex: %CREATION-PRICE% - shop-create-not-enough-money: "&cNot enough money. You need &6%CREATION-PRICE% &cto create a shop." - - shop-info: - - # Set the vendor message the player gets after entering '/shop info'. - # Usable regex: %VENDOR% - vendor: "&6Vendor: &e%VENDOR%" - - # Set the product message the player gets after entering '/shop info'. - # Usable regex: %AMOUNT%, %ITEMNAME% - product: "&6Product: &e%AMOUNT% x %ITEMNAME%" - - # Set the in-stock message the player after entering '/shop info'. - # Usable regex: %AMOUNT% - stock: "&6In Stock: &e%AMOUNT%" - - # Set the enchantments message the player gets after entering '/shop info' if the product is enchanted - # Usable regex: %ENCHANTMENT% - enchantments: "&6Enchantments: &e%ENCHANTMENT%" - - # Set the arrow effect message the player gets after entering '/shop info' if the product is a tipped arrow (1.9 and later) - # Usable regex: %ARROW-EFFECT% - arrow-effect: "&6Arrow Effect: &e%ARROW-EFFECT%" - - # If the product is a tipped arrow but it doesn't have an effect, this gets displayed instead of the arrow effect - none: "&7None" - - # Set the price message the player gets after entering '/shop info'. - # Usable regex: %BUY-PRICE%, %SELL-PRICE% - 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. - disabled: "&7Disabled&e" - - # Set the type message the player gets after entering '/shop info' ... - # ... when the shop is normal. - is-normal: "&6Type: &eNormal" - - # ... when the shop is an admin shop. - is-admin: "&6Type: &eAdmin" - - # Set the message when the clicked block is not a chest. - block-no-chest: "&cBlock is not a chest" - - # Set the message when the player tries to create a shop with sell price and buy price set to 0 - 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 regex: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %VENDOR% - 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 regex: %AMOUNT%, %ITEMNAME%, %BUY-PRICE% - 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 regex: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %VENDOR% - 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 regex: %AMOUNT%, %ITEMNAME%, %SELL-PRICE% - 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 regex: %AMOUNT%, %ITEMNAME%, %BUY-PRICE%, %PLAYER% - 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 regex: %AMOUNT%, %ITEMNAME%, %SELL-PRICE%, %PLAYER% - someone-sold: "&6%PLAYER% &asold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a from your shop." - - # Set the message when the inventory is full when the player is buying something. - 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. - chest-not-enough-inventory-space: "&cShop is full." - - # Set the message when the player doesn't have enough money to buy something. - not-enough-money: "&cNot enough money." - - # Set the message when the player doesn't have enough items to sell. - not-enough-items: "&cNot enough items." - - # Set the message when the vendor doesn't have enough money to buy something from the player - vendor-not-enough-money: "&cVendor has not enough money." - - # Set the message when the shop is out of stock. - out-of-stock: "&cShop out of stock." - - # Set the message when an error occurred. - # Usable regex: %ERROR% - error-occurred: "&cAn error occurred: %ERROR%" - - # Set the message when the arguments and of '/shop create' are not a number. - amount-and-price-not-number: "&cAmount and price must be a number." - - # Set the message when the player doesn't hold an item in the hand. - no-item-in-hand: "&cNo item in hand" - - # Set the message when the player must click a chest to create a shop. - click-chest-to-create-shop: "&aClick a chest to create a shop." - - # Set the message when the player must click a shop to remove it. - click-chest-to-remove-shop: "&aClick a shop-chest to remove the shop." - - # Set the message when the player must click a shop to retrieve information. - click-chest-for-info: "&aClick a shop to retrieve information." - - # Set the message when the player opened a shop. - # Usable regex: %VENDOR% - opened-shop: "&aYou opened %VENDOR%'s shop." - - # Set the message when the player tries to break a shop. - cannot-break-shop: "&cYou can't break a shop." - - # Set the message when the player tries to sell a broken item. - 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 regex: %MIN-PRICE% - 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 regex: %MIN-PRICE% - sell-price-too-low: "&cThe sell price must be higher than %MIN-PRICE%." - - # Set the message when buying is disabled at the shop. - buying-disabled: "&cBuying is disabled at this shop." - - # Set the message when selling is disabled at the shop. - selling-disabled: "&cSelling is disabled at this shop." - - # Set the message when reloading is done. - # Usable regex: %AMOUNT% (Amount of shops) - reloaded-shops: "&aSuccessfully reloaded %AMOUNT% shop/s." - - # Set the message when the player's shop limit is reached. - # Usable regex: %LIMIT% - 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 regex: %LIMIT%, %AMOUNT% (Amount of shops) - 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. - cannot-sell-item: "&cYou cannot create a shop with this item." - - update: - - # Set the message when an update is available. - # Usable regex: %VERSION% - update-available: "&6&lVersion &c%VERSION% &6of &cShopChest &6is available &chere." - - # Set the message you get when hovering over the available message. - click-to-download: "Click to download" - - # Set the message when no update is available. - no-update: "&6&lNo new update available." - - # Set the message when the update checker is started. - checking: "&6&lChecking for updates..." - - # Set the message when an error occurs while checking for updates. - error: "&c&lError while checking for updates." - - hologram: - - # Set the text in the first row of the shop's hologram - # Usable regex: %ITEMNAME%, %AMOUNT% - format: "%AMOUNT% * %ITEMNAME%" - - # Set the text in the second row of the shop's hologram when the player can buy and sell an item. - # Usable regex: %BUY-PRICE%, %SELL-PRICE% - buy-and-sell: "Buy %BUY-PRICE% | %SELL-PRICE% Sell" - - # Set the text in the second row of the shop's hologram when the player can only buy an item. - # Usable regex: %BUY-PRICE% - only-buy: "Buy %BUY-PRICE%" - - # Set the text in the second row of the shop's hologram when the player can only sell an item. - # Usable regex: %SELL-PRICE% - only-sell: "Sell %SELL-PRICE%" - - no-permission: - - # Set the message when a not permitted player tries to create a shop. - create: "&cYou don't have permission to create a shop." - - # Set the message when a not permitted player tries to create an admin shop. - create-admin: "&cYou don't have permission to create an admin shop." - - # Set the message when a not permitted player tries to open another player's shop. - open-others: "&cYou don't have permission to open this chest." - - # Set the message when a not permitted player tries to buy something. - buy: "&cYou don't have permission to buy something." - - # Set the message when a not permitted player tries to sell something. - sell: "&cYou don't have permission to sell something." - - # Set the message when a not permitted player tries to remove another player's shop. - remove-others: "&cYou don't have permission to remove this shop." - - # Set the message when a not permitted player tries to reload the shops. - reload: "&cYou don't have permission to reload the shops." - - # Set the message when a not permitted player tries to check for updates. - update: "&cYou don't have permission to check for updates." - - # Set the message when a not permitted player tries to view the shop limits. - limits: "&cYou don't have permission to view the shop limits." - - command-description: - - # Set the command description message for '/ create' when you type '/'. - create: "Create a shop." - - # Set the command description message for '/ remove' when you type '/'. - remove: "Remove a shop." - - # Set the command description message for '/ info' when you type '/'. - info: "Retrieve shop information." - - # Set the command description message for '/ reload' when you type '/'. - reload: "Reload shops." - - # Set the command description message for '/ update' when you type '/'. - update: "Check for Updates." - - # Set the command description message for '/ limits' when you type '/'. - limits: "View shop limits." - -# End of file. \ No newline at end of file + # "898afbbe-6566-4a0f-b0ac-145868b3cb12": 50 \ No newline at end of file diff --git a/lang/de_DE.lang b/lang/de_DE.lang new file mode 100644 index 0000000..4f51f3f --- /dev/null +++ b/lang/de_DE.lang @@ -0,0 +1,1528 @@ +message.shop-created=&6Shop erstellt. +message.chest-already-shop=&cKiste ist bereits ein Shop. +message.shop-removed=&6Shop entfernt. +message.chest-no-shop=&cKiste 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%AMOUNT% +message.shopInfo.enchantments=&6Verzauberungen: &e%ENCHANTMENT% +message.shopInfo.potion-effect=&6Trank-Effekte: &e%POTION-EFFECT% +message.shopInfo.music-disc-title=&6Schallplattentitel: &e%MUSIC-TITLE% +message.shopInfo.none=&7Keine +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.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.error-occurred=&cEin Fehler ist aufgetreten: %ERROR% +message.amount-and-price-not-number=&cAnzahl und Preis müssen Zahlen sein. +message.no-item-in-hand=&cKein Item in der Hand. +message.click-chest-to-create-shop=&aKlicke auf eine Kiste, um einen Shop zu erstellen. +message.click-chest-to-remove-shop=&aKlicke auf einen Shop, um ihn zu entfernen. +message.click-chest-for-info=&aKlicke auf einen Shop, um Informationen über ihn zu bekommen. +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.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.update.update-available=&6&lVersion &c%VERSION% &6von &cShopChest &6ist 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.hologram.format=%AMOUNT% * %ITEMNAME% +message.hologram.buy-and-sell=Kauf %BUY-PRICE% | %SELL-PRICE% Verkauf +message.hologram.only-buy=Kauf %BUY-PRICE% +message.hologram.only-sell=Verkauf %SELL-PRICE% +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.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.remove-others=&cDu hast keine Berechtigung diesen 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.limits=&cDu hast keine Berechtigung die Shop Limits zu sehen +message.commandDescription.create=Erstelle einen Shop. +message.commandDescription.remove=Entferne einen Shop. +message.commandDescription.info=Rufe Informationen über den Shop ab. +message.commandDescription.reload=Lade die Shops neu. +message.commandDescription.update=Suche nach Aktualisierungen. +message.commandDescription.limits=Betrachte die Shop Limits. + +effect.absorption=Absorption +effect.blindness=Blindheit +effect.confusion=Übelkeit +effect.damageBoost=Stärke +effect.digSlowDown=Abbaulähmung +effect.digSpeed=Eile +effect.fireResistance=Feuerschutz +effect.glowing=Leuchten +effect.harm=Direktschaden +effect.heal=Direktheilung +effect.healthBoost=Extraenergie +effect.hunger=Hunger +effect.invisibility=Unsichtbarkeit +effect.jump=Sprungkraft +effect.levitation=Schwebekraft +effect.luck=Glück +effect.moveSlowdown=Langsamkeit +effect.moveSpeed=Schnelligkeit +effect.nightVision=Nachtsicht +effect.none=Wirkungslos +effect.poison=Vergiftung +effect.regeneration=Regeneration +effect.resistance=Resistenz +effect.saturation=Sättigung +effect.unluck=Pech +effect.waterBreathing=Unterwasseratem +effect.weakness=Schwäche +effect.wither=Ausdörrung + +enchantment.arrowDamage=Stärke +enchantment.arrowFire=Flamme +enchantment.arrowInfinite=Unendlich +enchantment.arrowKnockback=Schlag +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.thorns=Dornen +enchantment.untouching=Behutsamkeit +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.Enderman.name=Enderman +entity.Endermite.name=Endermite +entity.EntityHorse.name=Pferd +entity.Ghast.name=Ghast +entity.Giant.name=Riese +entity.Guardian.name=Wächter +entity.Husk.name=Wüstenzombie +entity.KillerBunny.name=Das Killer-Kaninchen +entity.LavaSlime.name=Magmawürfel +entity.MushroomCow.name=Mooshroom +entity.Ozelot.name=Ozelot +entity.Pig.name=Schwein +entity.PigZombie.name=Zombie Pigman +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.Slime.name=Schleim +entity.SnowMan.name=Schneegolem +entity.Snowball.name=Schneeball +entity.Spider.name=Spinne +entity.Squid.name=Tintenfisch +entity.Stray.name=Eiswanderer +entity.Villager.name=Dorfbewohner +entity.Witch.name=Hexe +entity.WitherSkeleton.name=Witherskelett +entity.Wolf.name=Wolf +entity.Zombie.name=Zombie +entity.donkey.name=Esel +entity.mule.name=Maultier +entity.skeletonhorse.name=Skelettpferd +entity.zombiehorse.name=Zombiepferd + +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.border.black=Schwarzer Bord +item.banner.border.blue=Blauer Bord +item.banner.border.brown=Brauner Bord +item.banner.border.cyan=Türkiser Bord +item.banner.border.gray=Grauer Bord +item.banner.border.green=Grüner Bord +item.banner.border.lightBlue=Hellblauer Bord +item.banner.border.lime=Hellgrüner Bord +item.banner.border.magenta=Magenta Bord +item.banner.border.orange=Oranger Bord +item.banner.border.pink=Rosa Bord +item.banner.border.purple=Violetter Bord +item.banner.border.red=Roter Bord +item.banner.border.silver=Hellgrauer Bord +item.banner.border.white=Weißer Bord +item.banner.border.yellow=Gelber Bord +item.banner.bricks.black=Feld schwarz gemauert +item.banner.bricks.blue=Feld blau gemauert +item.banner.bricks.brown=Feld braun gemauert +item.banner.bricks.cyan=Feld türkis gemauert +item.banner.bricks.gray=Feld grau gemauert +item.banner.bricks.green=Feld grün gemauert +item.banner.bricks.lightBlue=Feld hellblau gemauert +item.banner.bricks.lime=Feld hellgrün gemauert +item.banner.bricks.magenta=Feld magenta gemauert +item.banner.bricks.orange=Feld orange gemauert +item.banner.bricks.pink=Feld rosa gemauert +item.banner.bricks.purple=Feld violett gemauert +item.banner.bricks.red=Feld rot gemauert +item.banner.bricks.silver=Feld hellgrau gemauert +item.banner.bricks.white=Feld weiß gemauert +item.banner.bricks.yellow=Feld gelb gemauert +item.banner.brown.name=Braunes Banner +item.banner.circle.black=Schwarze Kugel +item.banner.circle.blue=Blaue Kugel +item.banner.circle.brown=Braune Kugel +item.banner.circle.cyan=Türkise Kugel +item.banner.circle.gray=Graue Kugel +item.banner.circle.green=Grüne Kugel +item.banner.circle.lightBlue=Hellblaue Kugel +item.banner.circle.lime=Hellgrüne Kugel +item.banner.circle.magenta=Magenta Kugel +item.banner.circle.orange=Orange Kugel +item.banner.circle.pink=Rosa Kugel +item.banner.circle.purple=Violette Kugel +item.banner.circle.red=Rote Kugel +item.banner.circle.silver=Hellgraue Kugel +item.banner.circle.white=Weiße Kugel +item.banner.circle.yellow=Gelbe Kugel +item.banner.creeper.black=Schwarzer Creeper +item.banner.creeper.blue=Blauer Creeper +item.banner.creeper.brown=Brauner Creeper +item.banner.creeper.cyan=Türkiser Creeper +item.banner.creeper.gray=Grauer Creeper +item.banner.creeper.green=Grüner Creeper +item.banner.creeper.lightBlue=Hellblauer Creeper +item.banner.creeper.lime=Hellgrüner Creeper +item.banner.creeper.magenta=Magenta Creeper +item.banner.creeper.orange=Oranger Creeper +item.banner.creeper.pink=Rosa Creeper +item.banner.creeper.purple=Violetter Creeper +item.banner.creeper.red=Roter Creeper +item.banner.creeper.silver=Hellgrauer Creeper +item.banner.creeper.white=Weißer Creeper +item.banner.creeper.yellow=Gelber Creeper +item.banner.cross.black=Schwarzes Andreaskreuz +item.banner.cross.blue=Blaues Andreaskreuz +item.banner.cross.brown=Braunes Andreaskreuz +item.banner.cross.cyan=Türkises Andreaskreuz +item.banner.cross.gray=Graues Andreaskreuz +item.banner.cross.green=Grünes Andreaskreuz +item.banner.cross.lightBlue=Hellblaues Andreaskreuz +item.banner.cross.lime=Hellgrünes Andreaskreuz +item.banner.cross.magenta=Magenta Andreaskreuz +item.banner.cross.orange=Oranges Andreaskreuz +item.banner.cross.pink=Rosa Andreaskreuz +item.banner.cross.purple=Violettes Andreaskreuz +item.banner.cross.red=Rotes Andreaskreuz +item.banner.cross.silver=Hellgraues Andreaskreuz +item.banner.cross.white=Weißes Andreaskreuz +item.banner.cross.yellow=Gelbes Andreaskreuz +item.banner.curly_border.black=Schwarzer Spickelbord +item.banner.curly_border.blue=Blauer Spickelbord +item.banner.curly_border.brown=Brauner Spickelbord +item.banner.curly_border.cyan=Türkiser Spickelbord +item.banner.curly_border.gray=Grauer Spickelbord +item.banner.curly_border.green=Grüner Spickelbord +item.banner.curly_border.lightBlue=Hellblauer Spickelbord +item.banner.curly_border.lime=Hellgrüner Spickelbord +item.banner.curly_border.magenta=Magenta Spickelbord +item.banner.curly_border.orange=Oranger Spickelbord +item.banner.curly_border.pink=Rosa Spickelbord +item.banner.curly_border.purple=Violetter Spickelbord +item.banner.curly_border.red=Roter Spickelbord +item.banner.curly_border.silver=Hellgrauer Spickelbord +item.banner.curly_border.white=Weißer Spickelbord +item.banner.curly_border.yellow=Gelber Spickelbord +item.banner.cyan.name=Türkises Banner +item.banner.diagonal_left.black=Schwarz schräglinks geteilt +item.banner.diagonal_left.blue=Blau schräglinks geteilt +item.banner.diagonal_left.brown=Braun schräglinks geteilt +item.banner.diagonal_left.cyan=Türkis schräglinks geteilt +item.banner.diagonal_left.gray=Grau schräglinks geteilt +item.banner.diagonal_left.green=Grün schräglinks geteilt +item.banner.diagonal_left.lightBlue=Hellblau schräglinks geteilt +item.banner.diagonal_left.lime=Hellgrün schräglinks geteilt +item.banner.diagonal_left.magenta=Magenta schräglinks geteilt +item.banner.diagonal_left.orange=Orange schräglinks geteilt +item.banner.diagonal_left.pink=Rosa schräglinks geteilt +item.banner.diagonal_left.purple=Violett schräglinks geteilt +item.banner.diagonal_left.red=Rot schräglinks geteilt +item.banner.diagonal_left.silver=Hellgrau schräglinks geteilt +item.banner.diagonal_left.white=Weiß schräglinks geteilt +item.banner.diagonal_left.yellow=Gelb schräglinks geteilt +item.banner.diagonal_right.black=Schwarz schrägrechts geteilt +item.banner.diagonal_right.blue=Blau schrägrechts geteilt +item.banner.diagonal_right.brown=Braun schrägrechts geteilt +item.banner.diagonal_right.cyan=Türkis schrägrechts geteilt +item.banner.diagonal_right.gray=Grau schrägrechts geteilt +item.banner.diagonal_right.green=Grün schrägrechts geteilt +item.banner.diagonal_right.lightBlue=Hellblau schrägrechts geteilt +item.banner.diagonal_right.lime=Hellgrün schrägrechts geteilt +item.banner.diagonal_right.magenta=Magenta schrägrechts geteilt +item.banner.diagonal_right.orange=Orange schrägrechts geteilt +item.banner.diagonal_right.pink=Rosa schrägrechts geteilt +item.banner.diagonal_right.purple=Violett schrägrechts geteilt +item.banner.diagonal_right.red=Rot schrägrechts geteilt +item.banner.diagonal_right.silver=Hellgrau schrägrechts geteilt +item.banner.diagonal_right.white=Weiß schrägrechts geteilt +item.banner.diagonal_right.yellow=Gelb schrägrechts geteilt +item.banner.diagonal_up_left.black=Schwarz schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.blue=Blau schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.brown=Braun schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.cyan=Türkis schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.gray=Grau schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.green=Grün schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.lightBlue=Hellblau schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.lime=Hellgrün schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.magenta=Magenta schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.orange=Orange schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.pink=Rosa schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.purple=Violett schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.red=Rot schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.silver=Hellgrau schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.white=Weiß schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_left.yellow=Gelb schrägrechts geteilt (Invertiert) +item.banner.diagonal_up_right.black=Schwarz schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.blue=Blau schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.brown=Braun schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.cyan=Türkis schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.gray=Grau schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.green=Grün schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.lightBlue=Hellblau schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.lime=Hellgrün schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.magenta=Magenta schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.orange=Orange schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.pink=Rosa schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.purple=Violett schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.red=Rot schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.silver=Hellgrau schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.white=Weiß schräglinks geteilt (Invertiert) +item.banner.diagonal_up_right.yellow=Gelb schräglinks geteilt (Invertiert) +item.banner.flower.black=Schwarze Blume +item.banner.flower.blue=Blaue Blume +item.banner.flower.brown=Braune Blume +item.banner.flower.cyan=Türkise Blume +item.banner.flower.gray=Graue Blume +item.banner.flower.green=Grüne Blume +item.banner.flower.lightBlue=Hellblaue Blume +item.banner.flower.lime=Hellgrüne Blume +item.banner.flower.magenta=Magenta Blume +item.banner.flower.orange=Orange Blume +item.banner.flower.pink=Rosa Blume +item.banner.flower.purple=Violette Blume +item.banner.flower.red=Rote Blume +item.banner.flower.silver=Hellgraue Blume +item.banner.flower.white=Weiße Blume +item.banner.flower.yellow=Gelbe Blume +item.banner.gradient.black=Schwarzer Farbverlauf +item.banner.gradient.blue=Blauer Farbverlauf +item.banner.gradient.brown=Brauner Farbverlauf +item.banner.gradient.cyan=Türkiser Farbverlauf +item.banner.gradient.gray=Grauer Farbverlauf +item.banner.gradient.green=Grüner Farbverlauf +item.banner.gradient.lightBlue=Hellblauer Farbverlauf +item.banner.gradient.lime=Hellgrüner Farbverlauf +item.banner.gradient.magenta=Magenta Farbverlauf +item.banner.gradient.orange=Oranger Farbverlauf +item.banner.gradient.pink=Rosa Farbverlauf +item.banner.gradient.purple=Violetter Farbverlauf +item.banner.gradient.red=Roter Farbverlauf +item.banner.gradient.silver=Hellgrauer Farbverlauf +item.banner.gradient.white=Weißer Farbverlauf +item.banner.gradient.yellow=Gelber Farbverlauf +item.banner.gradient_up.black=Schwarzer Farbverlauf (Invertiert) +item.banner.gradient_up.blue=Blauer Farbverlauf (Invertiert) +item.banner.gradient_up.brown=Brauner Farbverlauf (Invertiert) +item.banner.gradient_up.cyan=Türkiser Farbverlauf (Invertiert) +item.banner.gradient_up.gray=Grauer Farbverlauf (Invertiert) +item.banner.gradient_up.green=Grüner Farbverlauf (Invertiert) +item.banner.gradient_up.lightBlue=Hellblauer Farbverlauf (Invertiert) +item.banner.gradient_up.lime=Hellgrüner Farbverlauf (Invertiert) +item.banner.gradient_up.magenta=Magenta Farbverlauf (Invertiert) +item.banner.gradient_up.orange=Oranger Farbverlauf (Invertiert) +item.banner.gradient_up.pink=Rosa Farbverlauf (Invertiert) +item.banner.gradient_up.purple=Violetter Farbverlauf (Invertiert) +item.banner.gradient_up.red=Roter Farbverlauf (Invertiert) +item.banner.gradient_up.silver=Hellgrauer Farbverlauf (Invertiert) +item.banner.gradient_up.white=Weißer Farbverlauf (Invertiert) +item.banner.gradient_up.yellow=Gelber Farbverlauf (Invertiert) +item.banner.gray.name=Graues Banner +item.banner.green.name=Grünes Banner +item.banner.half_horizontal.black=Oben schwarz geteilt +item.banner.half_horizontal.blue=Oben blau geteilt +item.banner.half_horizontal.brown=Oben braun geteilt +item.banner.half_horizontal.cyan=Oben türkis geteilt +item.banner.half_horizontal.gray=Oben grau geteilt +item.banner.half_horizontal.green=Oben grün geteilt +item.banner.half_horizontal.lightBlue=Oben hellblau geteilt +item.banner.half_horizontal.lime=Oben hellgrün geteilt +item.banner.half_horizontal.magenta=Oben magenta geteilt +item.banner.half_horizontal.orange=Oben orange geteilt +item.banner.half_horizontal.pink=Oben rosa geteilt +item.banner.half_horizontal.purple=Oben violett geteilt +item.banner.half_horizontal.red=Oben rot geteilt +item.banner.half_horizontal.silver=Oben hellgrau geteilt +item.banner.half_horizontal.white=Oben weiß geteilt +item.banner.half_horizontal.yellow=Oben gelb geteilt +item.banner.half_horizontal_bottom.black=Unten schwarz geteilt +item.banner.half_horizontal_bottom.blue=Unten blau geteilt +item.banner.half_horizontal_bottom.brown=Unten braun geteilt +item.banner.half_horizontal_bottom.cyan=Unten türkis geteilt +item.banner.half_horizontal_bottom.gray=Unten grau geteilt +item.banner.half_horizontal_bottom.green=Unten grün geteilt +item.banner.half_horizontal_bottom.lightBlue=Unten hellblau geteilt +item.banner.half_horizontal_bottom.lime=Unten hellgrün geteilt +item.banner.half_horizontal_bottom.magenta=Unten magenta geteilt +item.banner.half_horizontal_bottom.orange=Unten orange geteilt +item.banner.half_horizontal_bottom.pink=Unten rosa geteilt +item.banner.half_horizontal_bottom.purple=Unten violett geteilt +item.banner.half_horizontal_bottom.red=Unten rot geteilt +item.banner.half_horizontal_bottom.silver=Unten hellgrau geteilt +item.banner.half_horizontal_bottom.white=Unten weiß geteilt +item.banner.half_horizontal_bottom.yellow=Unten gelb geteilt +item.banner.half_vertical.black=Rechts schwarz gespalten +item.banner.half_vertical.blue=Rechts blau gespalten +item.banner.half_vertical.brown=Rechts braun gespalten +item.banner.half_vertical.cyan=Rechts türkis gespalten +item.banner.half_vertical.gray=Rechts grau gespalten +item.banner.half_vertical.green=Rechts grün gespalten +item.banner.half_vertical.lightBlue=Rechts hellblau gespalten +item.banner.half_vertical.lime=Rechts hellgrün gespalten +item.banner.half_vertical.magenta=Rechts magenta gespalten +item.banner.half_vertical.orange=Rechts orange gespalten +item.banner.half_vertical.pink=Rechts rosa gespalten +item.banner.half_vertical.purple=Rechts violett gespalten +item.banner.half_vertical.red=Rechts rot gespalten +item.banner.half_vertical.silver=Rechts hellgrau gespalten +item.banner.half_vertical.white=Rechts weiß gespalten +item.banner.half_vertical.yellow=Rechts gelb gespalten +item.banner.half_vertical_right.black=Links schwarz gespalten +item.banner.half_vertical_right.blue=Links blau gespalten +item.banner.half_vertical_right.brown=Links braun gespalten +item.banner.half_vertical_right.cyan=Links türkis gespalten +item.banner.half_vertical_right.gray=Links grau gespalten +item.banner.half_vertical_right.green=Links grün gespalten +item.banner.half_vertical_right.lightBlue=Links hellblau gespalten +item.banner.half_vertical_right.lime=Links hellgrün gespalten +item.banner.half_vertical_right.magenta=Links magenta gespalten +item.banner.half_vertical_right.orange=Links orange gespalten +item.banner.half_vertical_right.pink=Links rosa gespalten +item.banner.half_vertical_right.purple=Links violett gespalten +item.banner.half_vertical_right.red=Links rot gespalten +item.banner.half_vertical_right.silver=Links hellgrau gespalten +item.banner.half_vertical_right.white=Links weiß gespalten +item.banner.half_vertical_right.yellow=Links gelb gespalten +item.banner.lightBlue.name=Hellblaues Banner +item.banner.lime.name=Hellgrünes Banner +item.banner.magenta.name=Magenta Banner +item.banner.mojang.black=Schwarzes Mojang-Logo +item.banner.mojang.blue=Blaues Mojang-Logo +item.banner.mojang.brown=Braunes Mojang-Logo +item.banner.mojang.cyan=Türkises Mojang-Logo +item.banner.mojang.gray=Graues Mojang-Logo +item.banner.mojang.green=Grünes Mojang-Logo +item.banner.mojang.lightBlue=Hellblaues Mojang-Logo +item.banner.mojang.lime=Hellgrünes Mojang-Logo +item.banner.mojang.magenta=Magenta Mojang-Logo +item.banner.mojang.orange=Oranges Mojang-Logo +item.banner.mojang.pink=Rosa Mojang-Logo +item.banner.mojang.purple=Violettes Mojang-Logo +item.banner.mojang.red=Rotes Mojang-Logo +item.banner.mojang.silver=Hellgraues Mojang-Logo +item.banner.mojang.white=Weißes Mojang-Logo +item.banner.mojang.yellow=Gelbes Mojang-Logo +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.rhombus.black=Schwarze Raute +item.banner.rhombus.blue=Blaue Raute +item.banner.rhombus.brown=Braune Raute +item.banner.rhombus.cyan=Türkise Raute +item.banner.rhombus.gray=Graue Raute +item.banner.rhombus.green=Grüne Raute +item.banner.rhombus.lightBlue=Hellblaue Raute +item.banner.rhombus.lime=Hellgrüne Raute +item.banner.rhombus.magenta=Magenta Raute +item.banner.rhombus.orange=Orange Raute +item.banner.rhombus.pink=Rosa Raute +item.banner.rhombus.purple=Violette Raute +item.banner.rhombus.red=Rote Raute +item.banner.rhombus.silver=Hellgraue Raute +item.banner.rhombus.white=Weiße Raute +item.banner.rhombus.yellow=Gelbe Raute +item.banner.silver.name=Hellgraues Banner +item.banner.skull.black=Schwarzer Schädel +item.banner.skull.blue=Blauer Schädel +item.banner.skull.brown=Brauner Schädel +item.banner.skull.cyan=Türkiser Schädel +item.banner.skull.gray=Grauer Schädel +item.banner.skull.green=Grüner Schädel +item.banner.skull.lightBlue=Hellblauer Schädel +item.banner.skull.lime=Hellgrüner Schädel +item.banner.skull.magenta=Magenta Schädel +item.banner.skull.orange=Oranger Schädel +item.banner.skull.pink=Rosa Schädel +item.banner.skull.purple=Violetter Schädel +item.banner.skull.red=Roter Schädel +item.banner.skull.silver=Hellgrauer Schädel +item.banner.skull.white=Weißer Schädel +item.banner.skull.yellow=Gelber Schädel +item.banner.small_stripes.black=Vier schwarze Pfähle +item.banner.small_stripes.blue=Vier blaue Pfähle +item.banner.small_stripes.brown=Vier braune Pfähle +item.banner.small_stripes.cyan=Vier türkise Pfähle +item.banner.small_stripes.gray=Vier graue Pfähle +item.banner.small_stripes.green=Vier grüne Pfähle +item.banner.small_stripes.lightBlue=Vier hellblaue Pfähle +item.banner.small_stripes.lime=Vier hellgrüne Pfähle +item.banner.small_stripes.magenta=Vier magenta Pfähle +item.banner.small_stripes.orange=Vier orange Pfähle +item.banner.small_stripes.pink=Vier rosa Pfähle +item.banner.small_stripes.purple=Vier violette Pfähle +item.banner.small_stripes.red=Vier rote Pfähle +item.banner.small_stripes.silver=Vier hellgraue Pfähle +item.banner.small_stripes.white=Vier weiße Pfähle +item.banner.small_stripes.yellow=Vier gelbe Pfähle +item.banner.square_bottom_left.black=Schwarzes rechtes Untereck +item.banner.square_bottom_left.blue=Blaues rechtes Untereck +item.banner.square_bottom_left.brown=Braunes rechtes Untereck +item.banner.square_bottom_left.cyan=Türkises rechtes Untereck +item.banner.square_bottom_left.gray=Graues rechtes Untereck +item.banner.square_bottom_left.green=Grünes rechtes Untereck +item.banner.square_bottom_left.lightBlue=Hellblaues rechtes Untereck +item.banner.square_bottom_left.lime=Hellgrünes rechtes Untereck +item.banner.square_bottom_left.magenta=Magenta rechtes Untereck +item.banner.square_bottom_left.orange=Oranges rechtes Untereck +item.banner.square_bottom_left.pink=Rosa rechtes Untereck +item.banner.square_bottom_left.purple=Violettes rechtes Untereck +item.banner.square_bottom_left.red=Rotes rechtes Untereck +item.banner.square_bottom_left.silver=Hellgraues rechtes Untereck +item.banner.square_bottom_left.white=Weißes rechtes Untereck +item.banner.square_bottom_left.yellow=Gelbes rechtes Untereck +item.banner.square_bottom_right.black=Schwarzes linkes Untereck +item.banner.square_bottom_right.blue=Blaues linkes Untereck +item.banner.square_bottom_right.brown=Braunes linkes Untereck +item.banner.square_bottom_right.cyan=Türkises linkes Untereck +item.banner.square_bottom_right.gray=Graues linkes Untereck +item.banner.square_bottom_right.green=Grünes linkes Untereck +item.banner.square_bottom_right.lightBlue=Hellblaues linkes Untereck +item.banner.square_bottom_right.lime=Hellgrünes linkes Untereck +item.banner.square_bottom_right.magenta=Magenta linkes Untereck +item.banner.square_bottom_right.orange=Oranges linkes Untereck +item.banner.square_bottom_right.pink=Rosa linkes Untereck +item.banner.square_bottom_right.purple=Violettes linkes Untereck +item.banner.square_bottom_right.red=Rotes linkes Untereck +item.banner.square_bottom_right.silver=Hellgraues linkes Untereck +item.banner.square_bottom_right.white=Weißes linkes Untereck +item.banner.square_bottom_right.yellow=Gelbes linkes Untereck +item.banner.square_top_left.black=Schwarzes rechtes Obereck +item.banner.square_top_left.blue=Blaues rechtes Obereck +item.banner.square_top_left.brown=Braunes rechtes Obereck +item.banner.square_top_left.cyan=Türkises rechtes Obereck +item.banner.square_top_left.gray=Graues rechtes Obereck +item.banner.square_top_left.green=Grünes rechtes Obereck +item.banner.square_top_left.lightBlue=Hellblaues rechtes Obereck +item.banner.square_top_left.lime=Hellgrünes rechtes Obereck +item.banner.square_top_left.magenta=Magenta rechtes Obereck +item.banner.square_top_left.orange=Oranges rechtes Obereck +item.banner.square_top_left.pink=Rosa rechtes Obereck +item.banner.square_top_left.purple=Violettes rechtes Obereck +item.banner.square_top_left.red=Rotes rechtes Obereck +item.banner.square_top_left.silver=Hellgraues rechtes Obereck +item.banner.square_top_left.white=Weißes rechtes Obereck +item.banner.square_top_left.yellow=Gelbes rechtes Obereck +item.banner.square_top_right.black=Schwarzes linkes Obereck +item.banner.square_top_right.blue=Blaues linkes Obereck +item.banner.square_top_right.brown=Braunes linkes Obereck +item.banner.square_top_right.cyan=Türkises linkes Obereck +item.banner.square_top_right.gray=Graues linkes Obereck +item.banner.square_top_right.green=Grünes linkes Obereck +item.banner.square_top_right.lightBlue=Hellblaues linkes Obereck +item.banner.square_top_right.lime=Hellgrünes linkes Obereck +item.banner.square_top_right.magenta=Magenta linkes Obereck +item.banner.square_top_right.orange=Oranges linkes Obereck +item.banner.square_top_right.pink=Rosa linkes Obereck +item.banner.square_top_right.purple=Violettes linkes Obereck +item.banner.square_top_right.red=Rotes linkes Obereck +item.banner.square_top_right.silver=Hellgraues linkes Obereck +item.banner.square_top_right.white=Weißes linkes Obereck +item.banner.square_top_right.yellow=Gelbes linkes Obereck +item.banner.straight_cross.black=Schwarzes Kreuz +item.banner.straight_cross.blue=Blaues Kreuz +item.banner.straight_cross.brown=Braunes Kreuz +item.banner.straight_cross.cyan=Türkises Kreuz +item.banner.straight_cross.gray=Graues Kreuz +item.banner.straight_cross.green=Grünes Kreuz +item.banner.straight_cross.lightBlue=Hellblaues Kreuz +item.banner.straight_cross.lime=Hellgrünes Kreuz +item.banner.straight_cross.magenta=Magenta Kreuz +item.banner.straight_cross.orange=Oranges Kreuz +item.banner.straight_cross.pink=Rosa Kreuz +item.banner.straight_cross.purple=Violettes Kreuz +item.banner.straight_cross.red=Rotes Kreuz +item.banner.straight_cross.silver=Hellgraues Kreuz +item.banner.straight_cross.white=Weißes Kreuz +item.banner.straight_cross.yellow=Gelbes Kreuz +item.banner.stripe_bottom.black=Schwarzer Bannerfuß +item.banner.stripe_bottom.blue=Blauer Bannerfuß +item.banner.stripe_bottom.brown=Brauner Bannerfuß +item.banner.stripe_bottom.cyan=Türkiser Bannerfuß +item.banner.stripe_bottom.gray=Grauer Bannerfuß +item.banner.stripe_bottom.green=Grüner Bannerfuß +item.banner.stripe_bottom.lightBlue=Hellblauer Bannerfuß +item.banner.stripe_bottom.lime=Hellgrüner Bannerfuß +item.banner.stripe_bottom.magenta=Magenta Bannerfuß +item.banner.stripe_bottom.orange=Oranger Bannerfuß +item.banner.stripe_bottom.pink=Rosa Bannerfuß +item.banner.stripe_bottom.purple=Violetter Bannerfuß +item.banner.stripe_bottom.red=Roter Bannerfuß +item.banner.stripe_bottom.silver=Hellgrauer Bannerfuß +item.banner.stripe_bottom.white=Weißer Bannerfuß +item.banner.stripe_bottom.yellow=Gelber Bannerfuß +item.banner.stripe_center.black=Schwarzer Pfahl +item.banner.stripe_center.blue=Blauer Pfahl +item.banner.stripe_center.brown=Brauner Pfahl +item.banner.stripe_center.cyan=Türkiser Pfahl +item.banner.stripe_center.gray=Grauer Pfahl +item.banner.stripe_center.green=Grüner Pfahl +item.banner.stripe_center.lightBlue=Hellblauer Pfahl +item.banner.stripe_center.lime=Hellgrüner Pfahl +item.banner.stripe_center.magenta=Magenta Pfahl +item.banner.stripe_center.orange=Oranger Pfahl +item.banner.stripe_center.pink=Rosa Pfahl +item.banner.stripe_center.purple=Violetter Pfahl +item.banner.stripe_center.red=Roter Pfahl +item.banner.stripe_center.silver=Hellgrauer Pfahl +item.banner.stripe_center.white=Weißer Pfahl +item.banner.stripe_center.yellow=Gelber Pfahl +item.banner.stripe_downleft.black=Schwarzer Schräglinksbalken +item.banner.stripe_downleft.blue=Blauer Schräglinksbalken +item.banner.stripe_downleft.brown=Brauner Schräglinksbalken +item.banner.stripe_downleft.cyan=Türkiser Schräglinksbalken +item.banner.stripe_downleft.gray=Grauer Schräglinksbalken +item.banner.stripe_downleft.green=Grüner Schräglinksbalken +item.banner.stripe_downleft.lightBlue=Hellblauer Schräglinksbalken +item.banner.stripe_downleft.lime=Hellgrüner Schräglinksbalken +item.banner.stripe_downleft.magenta=Magenta Schräglinksbalken +item.banner.stripe_downleft.orange=Oranger Schräglinksbalken +item.banner.stripe_downleft.pink=Rosa Schräglinksbalken +item.banner.stripe_downleft.purple=Violetter Schräglinksbalken +item.banner.stripe_downleft.red=Roter Schräglinksbalken +item.banner.stripe_downleft.silver=Hellgrauer Schräglinksbalken +item.banner.stripe_downleft.white=Weißer Schräglinksbalken +item.banner.stripe_downleft.yellow=Gelber Schräglinksbalken +item.banner.stripe_downright.black=Schwarzer Schrägbalken +item.banner.stripe_downright.blue=Blauer Schrägbalken +item.banner.stripe_downright.brown=Brauner Schrägbalken +item.banner.stripe_downright.cyan=Türkiser Schrägbalken +item.banner.stripe_downright.gray=Grauer Schrägbalken +item.banner.stripe_downright.green=Grüner Schrägbalken +item.banner.stripe_downright.lightBlue=Hellblauer Schrägbalken +item.banner.stripe_downright.lime=Hellgrüner Schrägbalken +item.banner.stripe_downright.magenta=Magenta Schrägbalken +item.banner.stripe_downright.orange=Oranger Schrägbalken +item.banner.stripe_downright.pink=Rosa Schrägbalken +item.banner.stripe_downright.purple=Violetter Schrägbalken +item.banner.stripe_downright.red=Roter Schrägbalken +item.banner.stripe_downright.silver=Hellgrauer Schrägbalken +item.banner.stripe_downright.white=Weißer Schrägbalken +item.banner.stripe_downright.yellow=Gelber Schrägbalken +item.banner.stripe_left.black=Schwarze rechte Flanke +item.banner.stripe_left.blue=Blaue rechte Flanke +item.banner.stripe_left.brown=Braune rechte Flanke +item.banner.stripe_left.cyan=Türkise rechte Flanke +item.banner.stripe_left.gray=Graue rechte Flanke +item.banner.stripe_left.green=Grüne rechte Flanke +item.banner.stripe_left.lightBlue=Hellblaue rechte Flanke +item.banner.stripe_left.lime=Hellgrüne rechte Flanke +item.banner.stripe_left.magenta=Magenta rechte Flanke +item.banner.stripe_left.orange=Orange rechte Flanke +item.banner.stripe_left.pink=Rosa rechte Flanke +item.banner.stripe_left.purple=Violette rechte Flanke +item.banner.stripe_left.red=Rote rechte Flanke +item.banner.stripe_left.silver=Hellgraue rechte Flanke +item.banner.stripe_left.white=Weiße rechte Flanke +item.banner.stripe_left.yellow=Gelbe rechte Flanke +item.banner.stripe_middle.black=Schwarzer Balken +item.banner.stripe_middle.blue=Blauer Balken +item.banner.stripe_middle.brown=Brauner Balken +item.banner.stripe_middle.cyan=Türkiser Balken +item.banner.stripe_middle.gray=Grauer Balken +item.banner.stripe_middle.green=Grüner Balken +item.banner.stripe_middle.lightBlue=Hellblauer Balken +item.banner.stripe_middle.lime=Hellgrüner Balken +item.banner.stripe_middle.magenta=Magenta Balken +item.banner.stripe_middle.orange=Oranger Balken +item.banner.stripe_middle.pink=Rosa Balken +item.banner.stripe_middle.purple=Violetter Balken +item.banner.stripe_middle.red=Roter Balken +item.banner.stripe_middle.silver=Hellgrauer Balken +item.banner.stripe_middle.white=Weißer Balken +item.banner.stripe_middle.yellow=Gelber Balken +item.banner.stripe_right.black=Schwarze linke Flanke +item.banner.stripe_right.blue=Blaue linke Flanke +item.banner.stripe_right.brown=Braune linke Flanke +item.banner.stripe_right.cyan=Türkise linke Flanke +item.banner.stripe_right.gray=Graue linke Flanke +item.banner.stripe_right.green=Grüne linke Flanke +item.banner.stripe_right.lightBlue=Hellblaue linke Flanke +item.banner.stripe_right.lime=Hellgrüne linke Flanke +item.banner.stripe_right.magenta=Magenta linke Flanke +item.banner.stripe_right.orange=Orange linke Flanke +item.banner.stripe_right.pink=Rosa linke Flanke +item.banner.stripe_right.purple=Violette linke Flanke +item.banner.stripe_right.red=Rote linke Flanke +item.banner.stripe_right.silver=Hellgraue linke Flanke +item.banner.stripe_right.white=Weiße linke Flanke +item.banner.stripe_right.yellow=Gelbe linke Flanke +item.banner.stripe_top.black=Schwarzes Bannerhaupt +item.banner.stripe_top.blue=Blaues Bannerhaupt +item.banner.stripe_top.brown=Braunes Bannerhaupt +item.banner.stripe_top.cyan=Türkises Bannerhaupt +item.banner.stripe_top.gray=Graues Bannerhaupt +item.banner.stripe_top.green=Grünes Bannerhaupt +item.banner.stripe_top.lightBlue=Hellblaues Bannerhaupt +item.banner.stripe_top.lime=Hellgrünes Bannerhaupt +item.banner.stripe_top.magenta=Magenta Bannerhaupt +item.banner.stripe_top.orange=Oranges Bannerhaupt +item.banner.stripe_top.pink=Rosa Bannerhaupt +item.banner.stripe_top.purple=Violettes Bannerhaupt +item.banner.stripe_top.red=Rotes Bannerhaupt +item.banner.stripe_top.silver=Hellgraues Bannerhaupt +item.banner.stripe_top.white=Weißes Bannerhaupt +item.banner.stripe_top.yellow=Gelbes Bannerhaupt +item.banner.triangle_bottom.black=Schwarze halbe Spitze +item.banner.triangle_bottom.blue=Blaue halbe Spitze +item.banner.triangle_bottom.brown=Braune halbe Spitze +item.banner.triangle_bottom.cyan=Türkise halbe Spitze +item.banner.triangle_bottom.gray=Graue halbe Spitze +item.banner.triangle_bottom.green=Grüne halbe Spitze +item.banner.triangle_bottom.lightBlue=Hellblaue halbe Spitze +item.banner.triangle_bottom.lime=Hellgrüne halbe Spitze +item.banner.triangle_bottom.magenta=Magenta halbe Spitze +item.banner.triangle_bottom.orange=Orange halbe Spitze +item.banner.triangle_bottom.pink=Rosa halbe Spitze +item.banner.triangle_bottom.purple=Violette halbe Spitze +item.banner.triangle_bottom.red=Rote halbe Spitze +item.banner.triangle_bottom.silver=Hellgraue halbe Spitze +item.banner.triangle_bottom.white=Weiße halbe Spitze +item.banner.triangle_bottom.yellow=Gelbe halbe Spitze +item.banner.triangle_top.black=Schwarze gestürzte halbe Spitze +item.banner.triangle_top.blue=Blaue gestürzte halbe Spitze +item.banner.triangle_top.brown=Braune gestürzte halbe Spitze +item.banner.triangle_top.cyan=Türkise gestürzte halbe Spitze +item.banner.triangle_top.gray=Graue gestürzte halbe Spitze +item.banner.triangle_top.green=Grüne gestürzte halbe Spitze +item.banner.triangle_top.lightBlue=Hellblaue gestürzte halbe Spitze +item.banner.triangle_top.lime=Hellgrüne gestürzte halbe Spitze +item.banner.triangle_top.magenta=Magenta gestürzte halbe Spitze +item.banner.triangle_top.orange=Orange gestürzte halbe Spitze +item.banner.triangle_top.pink=Rosa gestürzte halbe Spitze +item.banner.triangle_top.purple=Violette gestürzte halbe Spitze +item.banner.triangle_top.red=Rote gestürzte halbe Spitze +item.banner.triangle_top.silver=Hellgraue gestürzte halbe Spitze +item.banner.triangle_top.white=Weiße gestürzte halbe Spitze +item.banner.triangle_top.yellow=Gelbe gestürzte halbe Spitze +item.banner.triangles_bottom.black=Schwarzer gespickelter Bannerfuß +item.banner.triangles_bottom.blue=Blauer gespickelter Bannerfuß +item.banner.triangles_bottom.brown=Brauner gespickelter Bannerfuß +item.banner.triangles_bottom.cyan=Türkiser gespickelter Bannerfuß +item.banner.triangles_bottom.gray=Grauer gespickelter Bannerfuß +item.banner.triangles_bottom.green=Grüner gespickelter Bannerfuß +item.banner.triangles_bottom.lightBlue=Hellblauer gespickelter Bannerfuß +item.banner.triangles_bottom.lime=Hellgrüner gespickelter Bannerfuß +item.banner.triangles_bottom.magenta=Magenta gespickelter Bannerfuß +item.banner.triangles_bottom.orange=Oranger gespickelter Bannerfuß +item.banner.triangles_bottom.pink=Rosa gespickelter Bannerfuß +item.banner.triangles_bottom.purple=Violetter gespickelter Bannerfuß +item.banner.triangles_bottom.red=Roter gespickelter Bannerfuß +item.banner.triangles_bottom.silver=Hellgrauer gespickelter Bannerfuß +item.banner.triangles_bottom.white=Weißer gespickelter Bannerfuß +item.banner.triangles_bottom.yellow=Gelber gespickelter Bannerfuß +item.banner.triangles_top.black=Schwarzes gespickeltes Bannerhaupt +item.banner.triangles_top.blue=Blaues gespickeltes Bannerhaupt +item.banner.triangles_top.brown=Braunes gespickeltes Bannerhaupt +item.banner.triangles_top.cyan=Türkises gespickeltes Bannerhaupt +item.banner.triangles_top.gray=Graues gespickeltes Bannerhaupt +item.banner.triangles_top.green=Grünes gespickeltes Bannerhaupt +item.banner.triangles_top.lightBlue=Hellblaues gespickeltes Bannerhaupt +item.banner.triangles_top.lime=Hellgrünes gespickeltes Bannerhaupt +item.banner.triangles_top.magenta=Magenta gespickeltes Bannerhaupt +item.banner.triangles_top.orange=Oranges gespickeltes Bannerhaupt +item.banner.triangles_top.pink=Rosa gespickeltes Bannerhaupt +item.banner.triangles_top.purple=Violettes gespickeltes Bannerhaupt +item.banner.triangles_top.red=Rotes gespickeltes Bannerhaupt +item.banner.triangles_top.silver=Hellgraues gespickeltes Bannerhaupt +item.banner.triangles_top.white=Weißes gespickeltes Bannerhaupt +item.banner.triangles_top.yellow=Gelbes gespickeltes Bannerhaupt +item.banner.white.name=Weißes Banner +item.banner.yellow.name=Gelbes Banner +item.bed.name=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.canBreak=Kann abbauen: +item.canPlace=Kann platziert werden auf: +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=Diamantbrustpanzer +item.chestplateGold.name=Goldharnisch +item.chestplateIron.name=Eisenbrustpanzer +item.chickenCooked.name=Gebratenes Hühnchen +item.chickenRaw.name=Rohes Hühnchen +item.chorusFruit.name=Chorusfrucht +item.chorusFruitPopped.name=Geplatzte Chorusfrucht +item.clay.name=Ton +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.dyed=Gefärbt +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.flight=Flugdauer: +item.fireworks.name=Feuerwerksrakete +item.fireworksCharge.black=Schwarz +item.fireworksCharge.blue=Blau +item.fireworksCharge.brown=Braun +item.fireworksCharge.customColor=Benutzerdefiniert +item.fireworksCharge.cyan=Türkis +item.fireworksCharge.fadeTo=Übergang zu +item.fireworksCharge.flicker=Funkeln +item.fireworksCharge.gray=Grau +item.fireworksCharge.green=Grün +item.fireworksCharge.lightBlue=Hellblau +item.fireworksCharge.lime=Hellgrün +item.fireworksCharge.magenta=Magenta +item.fireworksCharge.name=Feuerwerksstern +item.fireworksCharge.orange=Orange +item.fireworksCharge.pink=Rosa +item.fireworksCharge.purple=Violett +item.fireworksCharge.red=Rot +item.fireworksCharge.silver=Hellgrau +item.fireworksCharge.trail=Schweif +item.fireworksCharge.type=Unbekannte Form +item.fireworksCharge.type.0=Kleine Kugel +item.fireworksCharge.type.1=Große Kugel +item.fireworksCharge.type.2=Sternförmig +item.fireworksCharge.type.3=Creeperförmig +item.fireworksCharge.type.4=Explosion +item.fireworksCharge.white=Weiß +item.fireworksCharge.yellow=Gelb +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.leash.name=Leine +item.leather.name=Leder +item.leaves.name=Laub +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=Melone +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.modifiers.chest=Am Körper: +item.modifiers.feet=An den Füßen: +item.modifiers.head=Auf dem Kopf: +item.modifiers.legs=An den Beinen: +item.modifiers.mainhand=In der Haupthand: +item.modifiers.offhand=In der Zweithand: +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.ruby.name=Rubin +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.black.name=Schwarzer Schild +item.shield.blue.name=Blauer Schild +item.shield.brown.name=Brauner Schild +item.shield.cyan.name=Türkiser Schild +item.shield.gray.name=Grauer Schild +item.shield.green.name=Grüner Schild +item.shield.lightBlue.name=Hellblauer Schild +item.shield.lime.name=Hellgrüner Schild +item.shield.magenta.name=Magenta Schild +item.shield.name=Schild +item.shield.orange.name=Oranger Schild +item.shield.pink.name=Rosa Schild +item.shield.purple.name=Violetter Schild +item.shield.red.name=Roter Schild +item.shield.silver.name=Hellgrauer Schild +item.shield.white.name=Weißer Schild +item.shield.yellow.name=Gelber Schild +item.shovelDiamond.name=Diamantschaufel +item.shovelGold.name=Goldschaufel +item.shovelIron.name=Eisenschaufel +item.shovelStone.name=Steinschaufel +item.shovelWood.name=Holzschaufel +item.sign.name=Schild +item.skull.char.name=Kopf +item.skull.creeper.name=Creeperkopf +item.skull.dragon.name=Drachenkopf +item.skull.player.name=Kopf von %s +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 Melone +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.unbreakable=Unzerstörbar +item.wheat.name=Weizen +item.writingBook.name=Buch und Feder +item.writtenBook.name=Beschriebenes Buch +item.yellowDust.name=Glowstonestaub + +tile.acaciaFence.name=Akazienholzzaun +tile.acaciaFenceGate.name=Akazienholzzauntor +tile.activatorRail.name=Aktivierungsschiene +tile.anvil.intact.name=Amboss +tile.anvil.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.beacon.primary=Primäre Kraft +tile.beacon.secondary=Sekundäre Kraft +tile.bed.name=Bett +tile.bed.noSleep=Du kannst nur nachts schlafen +tile.bed.notSafe=Du kannst jetzt nicht schlafen, es sind Monster in der Nähe +tile.bed.notValid=Dein Bett wurde blockiert oder zerstört +tile.bed.occupied=Dieses Bett ist belegt +tile.bedrock.name=Grundgestein +tile.beetroots.name=Rote Bete +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.bookshelf.name=Bücherregal +tile.brick.name=Ziegelsteine +tile.button.name=Knopf +tile.cactus.name=Kaktus +tile.cake.name=Kuchen +tile.carrots.name=Karotten +tile.cauldron.name=Kessel +tile.chainCommandBlock.name=Ketten-Befehlsblock +tile.chest.name=Truhe +tile.chestTrap.name=Redstonetruhe +tile.chorusFlower.name=Chorusblüte +tile.chorusPlant.name=Choruspflanze +tile.clay.name=Ton +tile.clayHardened.name=Gebrannter Ton +tile.clayHardenedStained.black.name=Schwarz gefärbter Ton +tile.clayHardenedStained.blue.name=Blau gefärbter Ton +tile.clayHardenedStained.brown.name=Braun gefärbter Ton +tile.clayHardenedStained.cyan.name=Türkis gefärbter Ton +tile.clayHardenedStained.gray.name=Grau gefärbter Ton +tile.clayHardenedStained.green.name=Grün gefärbter Ton +tile.clayHardenedStained.lightBlue.name=Hellblau gefärbter Ton +tile.clayHardenedStained.lime.name=Hellgrün gefärbter Ton +tile.clayHardenedStained.magenta.name=Magenta gefärbter Ton +tile.clayHardenedStained.name=Gefärbter Ton +tile.clayHardenedStained.orange.name=Orange gefärbter Ton +tile.clayHardenedStained.pink.name=Rosa gefärbter Ton +tile.clayHardenedStained.purple.name=Violett gefärbter Ton +tile.clayHardenedStained.red.name=Rot gefärbter Ton +tile.clayHardenedStained.silver.name=Hellgrau gefärbter Ton +tile.clayHardenedStained.white.name=Weiß gefärbter Ton +tile.clayHardenedStained.yellow.name=Gelb gefärbter Ton +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.name=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.cocoa.name=Kakao +tile.commandBlock.name=Befehlsblock +tile.crops.name=Getreide +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.name=Erde +tile.dirt.podzol.name=Podsol +tile.dispenser.name=Werfer +tile.doorIron.name=Eisentür +tile.doorWood.name=Holztür +tile.doublePlant.fern.name=Großer Farn +tile.doublePlant.grass.name=Hohes Gras +tile.doublePlant.name=Pflanze +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.flower1.name=Blume +tile.flower2.allium.name=Sternlauch +tile.flower2.blueOrchid.name=Blaue Orchidee +tile.flower2.houstonia.name=Porzellansternchen +tile.flower2.name=Blume +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.frostedIce.name=Brüchiges Eis +tile.furnace.name=Ofen +tile.glass.name=Glas +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.name=Laub +tile.leaves.oak.name=Eichenlaub +tile.leaves.spruce.name=Fichtennadeln +tile.lever.name=Hebel +tile.lightgem.name=Glowstone +tile.litpumpkin.name=Kürbislaterne +tile.lockedchest.name=Verschlossene Truhe +tile.log.acacia.name=Akazienholz +tile.log.big_oak.name=Schwarzeichenholz +tile.log.birch.name=Birkenholz +tile.log.jungle.name=Tropenholz +tile.log.name=Holz +tile.log.oak.name=Eichenholz +tile.log.spruce.name=Fichtenholz +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.name=Stein (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.netherquartz.name=Netherquarzerz +tile.notGate.name=Redstone-Fackel +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.oreRuby.name=Rubinerz +tile.pistonBase.name=Kolben +tile.pistonStickyBase.name=Klebriger Kolben +tile.portal.name=Portal +tile.potatoes.name=Kartoffeln +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.pumpkinStem.name=Kürbispflanze +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.quartzBlock.name=Quarzblock +tile.rail.name=Schiene +tile.redSandStone.chiseled.name=Gemeißelter roter Sandstein +tile.redSandStone.default.name=Roter Sandstein +tile.redSandStone.name=Roter Sandstein +tile.redSandStone.smooth.name=Glatter roter Sandstein +tile.redstoneDust.name=Redstone-Staub +tile.redstoneLight.name=Redstone-Lampe +tile.reeds.name=Zuckerrohr +tile.repeatingCommandBlock.name=Wiederhol-Befehlsblock +tile.sand.default.name=Sand +tile.sand.name=Sand +tile.sand.red.name=Roter Sand +tile.sandStone.chiseled.name=Gemeißelter Sandstein +tile.sandStone.default.name=Sandstein +tile.sandStone.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.sign.name=Schild +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.name=Gefärbtes 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.name=Steinstufe +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.stonebricksmooth.name=Steinziegel +tile.structureBlock.name=Konstruktionsblock +tile.tallgrass.fern.name=Farn +tile.tallgrass.grass.name=Gras +tile.tallgrass.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.name=Gefärbte 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.tripWire.name=Stolperdraht +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.name=Holzbretter +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.name=Holzstufe +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.name=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 + +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.levitation=Verweiltrank der Schwebekraft +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.levitation=Trank der Schwebekraft +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.levitation=Wurftrank der Schwebekraft +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 + +tipped_arrow.effect.awkward=Getränkter Pfeil +tipped_arrow.effect.empty=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.levitation=Pfeil der Schwebekraft +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/lang/en_US.lang b/lang/en_US.lang new file mode 100644 index 0000000..aa39d1c --- /dev/null +++ b/lang/en_US.lang @@ -0,0 +1,1691 @@ +# Set the message when a shop is created at the clicked chest. +message.shop-created=&6Shop created. + +# Set the message when the clicked chest already is a shop. +message.chest-already-shop=&cChest already is shop. + +# Set the message when the clicked shop is removed. +message.shop-removed=&6Shop removed. + +# 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 Regex: %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 regex: %VENDOR% +message.shopInfo.vendor=&6Vendor=&e%VENDOR% + +# Set the product message the player gets after entering '/shop info'. +# Usable regex: %AMOUNT%, %ITEMNAME% +message.shopInfo.product=&6Product: &e%AMOUNT% x %ITEMNAME% + +# Set the in-stock message the player after entering '/shop info'. +# Usable regex=%AMOUNT% +message.shopInfo.stock=&6In Stock: &e%AMOUNT% + +# Set the enchantments message the player gets after entering '/shop info' if the product is enchanted +# Usable regex: %ENCHANTMENT% +message.shopInfo.enchantments=&6Enchantments: &e%ENCHANTMENT% + +# Set the potion effect message the player gets after entering '/shop info' if the product has a potion effect +# Usable regex: %POTION-EFFECT% +message.shopInfo.potion-effect=&6Potion Effect: &e%POTION-EFFECT% + +# Set the music disc title message the player gets after entering '/shop info' if the product is a music disc +# Usable regex: %MUSIC-TITLE% +message.shopInfo.music-disc-title=&6Music Disc Title: &e%MUSIC-TITLE% + +# If the product is a tipped arrow but it doesn't have an effect, this gets displayed instead of the arrow effect +message.shopInfo.none=&7None + +# Set the price message the player gets after entering '/shop info'. +# Usable regex: %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 regex: %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 regex: %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 regex: %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 regex: %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 regex: %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 regex: %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 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 when an error occurred. +# Usable regex: %ERROR% +message.error-occurred=&cAn error occurred: %ERROR% + +# Set the message when the arguments and of '/shop create' are not a number. +message.amount-and-price-not-number=&cAmount and price must be a number. + +# 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 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-chest to remove the shop. + +# Set the message when the player must click a shop to retrieve information. +message.click-chest-for-info=&aClick a shop to retrieve information. + +# Set the message when the player opened a shop. +# Usable regex: %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 regex: %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 regex: %MIN-PRICE% +message.sell-price-too-low=&cThe sell price must be higher than %MIN-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 regex: %AMOUNT% (Amount of shops) +message.reloaded-shops=&aSuccessfully reloaded %AMOUNT% shop/s. + +# Set the message when the player's shop limit is reached. +# Usable regex: %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 regex: %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 an update is available. +# Usable regex: %VERSION% +message.update.update-available=&6&lVersion &c%VERSION% &6of &cShopChest &6is available &chere. + +# 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 text in the first row of the shop's hologram +# Usable regex: %ITEMNAME%, %AMOUNT% +message.hologram.format=%AMOUNT% * %ITEMNAME% + +# Set the text in the second row of the shop's hologram when the player can buy and sell an item. +# Usable regex: %BUY-PRICE%, %SELL-PRICE% +message.hologram.buy-and-sell=Buy %BUY-PRICE% | %SELL-PRICE% Sell + +# Set the text in the second row of the shop's hologram when the player can only buy an item. +# Usable regex: %BUY-PRICE% +message.hologram.only-buy=Buy %BUY-PRICE% + +# Set the text in the second row of the shop's hologram when the player can only sell an item. +# Usable regex: %SELL-PRICE% +message.hologram.only-sell=Sell %SELL-PRICE% + +# 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 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 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 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 view the shop limits. +message.noPermission.limits=&cYou don't have permission to view the shop limits. + +# Set the command description message for '/shop create' when you type '/shop'. +message.commandDescription.create=Create a shop. + +# Set the command description message for '/shop remove' when you type '/shop'. +message.commandDescription.remove=Remove a shop. + +# Set the command description message for '/shop info' when you type '/shop'. +message.commandDescription.info=Retrieve shop information. + +# Set the command description message for '/shop reload' when you type '/shop'. +message.commandDescription.reload=Reload shops. + +# Set the command description message for '/shop update' when you type '/shop'. +message.commandDescription.update=Check for Updates. + +# Set the command description message for '/shop limits' when you type '/shop'. +message.commandDescription.limits=View shop limits. + +# Effect names that will be displayed in the place of %POTION-EFFECT% +effect.none=No Effects +effect.moveSpeed=Speed +effect.moveSlowdown=Slowness +effect.digSpeed=Haste +effect.digSlowDown=Mining Fatigue +effect.damageBoost=Strength +effect.heal=Instant Health +effect.harm=Instant Damage +effect.jump=Jump Boost +effect.confusion=Nausea +effect.regeneration=Regeneration +effect.resistance=Resistance +effect.fireResistance=Fire Resistance +effect.waterBreathing=Water Breathing +effect.invisibility=Invisibility +effect.blindness=Blindness +effect.nightVision=Night Vision +effect.hunger=Hunger +effect.weakness=Weakness +effect.poison=Poison +effect.wither=Wither +effect.healthBoost=Health Boost +effect.absorption=Absorption +effect.saturation=Saturation +effect.glowing=Glowing +effect.luck=Luck +effect.unluck=Bad Luck +effect.levitation=Levitation + +# Item names of a tipped arrow +tipped_arrow.effect.empty=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=Arrow of Splashing +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.levitation=Arrow of Levitation +tipped_arrow.effect.luck=Arrow of Luck + +# Item names of a normal potion +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.levitation=Potion of Levitation +potion.effect.luck=Potion of Luck + +# Item names of a splash potion +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.levitation=Splash Potion of Levitation +splash_potion.effect.luck=Splash Potion of Luck + +# Item names of a lingering potion +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.levitation=Lingering Potion of Levitation +lingering_potion.effect.luck=Lingering Potion of Luck + +# Enchantment name that will be displayed instead of %ENCHANTMENT% +enchantment.damage.all=Sharpness +enchantment.damage.undead=Smite +enchantment.damage.arthropods=Bane of Arthropods +enchantment.knockback=Knockback +enchantment.fire=Fire Aspect +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.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 + +# If the product is a spawn egg, this will be displayed after 'item.monsterPlacer.name' +entity.Creeper.name=Creeper +entity.Skeleton.name=Skeleton +entity.WitherSkeleton.name=Wither Skeleton +entity.Stray.name=Stray +entity.Spider.name=Spider +entity.Giant.name=Giant +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.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.SnowMan.name=Snow Golem +entity.Witch.name=Witch +entity.Guardian.name=Guardian +entity.Shulker.name=Shulker +entity.PolarBear.name=Polar Bear +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.Cat.name=Cat +entity.Bat.name=Bat +entity.EntityHorse.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.KillerBunny.name=The Killer Bunny + +# Item names that will be displayed in the hologram +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.diode.name=Redstone Repeater +item.comparator.name=Redstone Comparator +item.map.name=Map +item.leaves.name=Leaves +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.player.name=%s's 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.fireworks.flight=Flight Duration: +item.fireworksCharge.name=Firework Star +item.fireworksCharge.black=Black +item.fireworksCharge.red=Red +item.fireworksCharge.green=Green +item.fireworksCharge.brown=Brown +item.fireworksCharge.blue=Blue +item.fireworksCharge.purple=Purple +item.fireworksCharge.cyan=Cyan +item.fireworksCharge.silver=Light Gray +item.fireworksCharge.gray=Gray +item.fireworksCharge.pink=Pink +item.fireworksCharge.lime=Lime +item.fireworksCharge.yellow=Yellow +item.fireworksCharge.lightBlue=Light Blue +item.fireworksCharge.magenta=Magenta +item.fireworksCharge.orange=Orange +item.fireworksCharge.white=White +item.fireworksCharge.customColor=Custom +item.fireworksCharge.fadeTo=Fade to +item.fireworksCharge.flicker=Twinkle +item.fireworksCharge.trail=Trail +item.fireworksCharge.type.0=Small Ball +item.fireworksCharge.type.1=Large Ball +item.fireworksCharge.type.2=Star-shaped +item.fireworksCharge.type.3=Creeper-shaped +item.fireworksCharge.type.4=Burst +item.fireworksCharge.type=Unknown Shape +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.shield.name=Shield +item.shield.black.name=Black Shield +item.shield.red.name=Red Shield +item.shield.green.name=Green Shield +item.shield.brown.name=Brown Shield +item.shield.blue.name=Blue Shield +item.shield.purple.name=Purple Shield +item.shield.cyan.name=Cyan Shield +item.shield.silver.name=Light Gray Shield +item.shield.gray.name=Gray Shield +item.shield.pink.name=Pink Shield +item.shield.lime.name=Lime Shield +item.shield.yellow.name=Yellow Shield +item.shield.lightBlue.name=Light Blue Shield +item.shield.magenta.name=Magenta Shield +item.shield.orange.name=Orange Shield +item.shield.white.name=White Shield +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.banner.square_bottom_left.black=Black Base Dexter Canton +item.banner.square_bottom_left.red=Red Base Dexter Canton +item.banner.square_bottom_left.green=Green Base Dexter Canton +item.banner.square_bottom_left.brown=Brown Base Dexter Canton +item.banner.square_bottom_left.blue=Blue Base Dexter Canton +item.banner.square_bottom_left.purple=Purple Base Dexter Canton +item.banner.square_bottom_left.cyan=Cyan Base Dexter Canton +item.banner.square_bottom_left.silver=Light Gray Base Dexter Canton +item.banner.square_bottom_left.gray=Gray Base Dexter Canton +item.banner.square_bottom_left.pink=Pink Base Dexter Canton +item.banner.square_bottom_left.lime=Lime Base Dexter Canton +item.banner.square_bottom_left.yellow=Yellow Base Dexter Canton +item.banner.square_bottom_left.lightBlue=Light Blue Base Dexter Canton +item.banner.square_bottom_left.magenta=Magenta Base Dexter Canton +item.banner.square_bottom_left.orange=Orange Base Dexter Canton +item.banner.square_bottom_left.white=White Base Dexter Canton +item.banner.square_bottom_right.black=Black Base Sinister Canton +item.banner.square_bottom_right.red=Red Base Sinister Canton +item.banner.square_bottom_right.green=Green Base Sinister Canton +item.banner.square_bottom_right.brown=Brown Base Sinister Canton +item.banner.square_bottom_right.blue=Blue Base Sinister Canton +item.banner.square_bottom_right.purple=Purple Base Sinister Canton +item.banner.square_bottom_right.cyan=Cyan Base Sinister Canton +item.banner.square_bottom_right.silver=Light Gray Base Sinister Canton +item.banner.square_bottom_right.gray=Gray Base Sinister Canton +item.banner.square_bottom_right.pink=Pink Base Sinister Canton +item.banner.square_bottom_right.lime=Lime Base Sinister Canton +item.banner.square_bottom_right.yellow=Yellow Base Sinister Canton +item.banner.square_bottom_right.lightBlue=Light Blue Base Sinister Canton +item.banner.square_bottom_right.magenta=Magenta Base Sinister Canton +item.banner.square_bottom_right.orange=Orange Base Sinister Canton +item.banner.square_bottom_right.white=White Base Sinister Canton +item.banner.square_top_left.black=Black Chief Dexter Canton +item.banner.square_top_left.red=Red Chief Dexter Canton +item.banner.square_top_left.green=Green Chief Dexter Canton +item.banner.square_top_left.brown=Brown Chief Dexter Canton +item.banner.square_top_left.blue=Blue Chief Dexter Canton +item.banner.square_top_left.purple=Purple Chief Dexter Canton +item.banner.square_top_left.cyan=Cyan Chief Dexter Canton +item.banner.square_top_left.silver=Light Gray Chief Dexter Canton +item.banner.square_top_left.gray=Gray Chief Dexter Canton +item.banner.square_top_left.pink=Pink Chief Dexter Canton +item.banner.square_top_left.lime=Lime Chief Dexter Canton +item.banner.square_top_left.yellow=Yellow Chief Dexter Canton +item.banner.square_top_left.lightBlue=Light Blue Chief Dexter Canton +item.banner.square_top_left.magenta=Magenta Chief Dexter Canton +item.banner.square_top_left.orange=Orange Chief Dexter Canton +item.banner.square_top_left.white=White Chief Dexter Canton +item.banner.square_top_right.black=Black Chief Sinister Canton +item.banner.square_top_right.red=Red Chief Sinister Canton +item.banner.square_top_right.green=Green Chief Sinister Canton +item.banner.square_top_right.brown=Brown Chief Sinister Canton +item.banner.square_top_right.blue=Blue Chief Sinister Canton +item.banner.square_top_right.purple=Purple Chief Sinister Canton +item.banner.square_top_right.cyan=Cyan Chief Sinister Canton +item.banner.square_top_right.silver=Light Gray Chief Sinister Canton +item.banner.square_top_right.gray=Gray Chief Sinister Canton +item.banner.square_top_right.pink=Pink Chief Sinister Canton +item.banner.square_top_right.lime=Lime Chief Sinister Canton +item.banner.square_top_right.yellow=Yellow Chief Sinister Canton +item.banner.square_top_right.lightBlue=Light Blue Chief Sinister Canton +item.banner.square_top_right.magenta=Magenta Chief Sinister Canton +item.banner.square_top_right.orange=Orange Chief Sinister Canton +item.banner.square_top_right.white=White Chief Sinister Canton +item.banner.stripe_bottom.black=Black Base Fess +item.banner.stripe_bottom.red=Red Base Fess +item.banner.stripe_bottom.green=Green Base Fess +item.banner.stripe_bottom.brown=Brown Base Fess +item.banner.stripe_bottom.blue=Blue Base Fess +item.banner.stripe_bottom.purple=Purple Base Fess +item.banner.stripe_bottom.cyan=Cyan Base Fess +item.banner.stripe_bottom.silver=Light Gray Base Fess +item.banner.stripe_bottom.gray=Gray Base Fess +item.banner.stripe_bottom.pink=Pink Base Fess +item.banner.stripe_bottom.lime=Lime Base Fess +item.banner.stripe_bottom.yellow=Yellow Base Fess +item.banner.stripe_bottom.lightBlue=Light Blue Base Fess +item.banner.stripe_bottom.magenta=Magenta Base Fess +item.banner.stripe_bottom.orange=Orange Base Fess +item.banner.stripe_bottom.white=White Base Fess +item.banner.stripe_top.black=Black Chief Fess +item.banner.stripe_top.red=Red Chief Fess +item.banner.stripe_top.green=Green Chief Fess +item.banner.stripe_top.brown=Brown Chief Fess +item.banner.stripe_top.blue=Blue Chief Fess +item.banner.stripe_top.purple=Purple Chief Fess +item.banner.stripe_top.cyan=Cyan Chief Fess +item.banner.stripe_top.silver=Light Gray Chief Fess +item.banner.stripe_top.gray=Gray Chief Fess +item.banner.stripe_top.pink=Pink Chief Fess +item.banner.stripe_top.lime=Lime Chief Fess +item.banner.stripe_top.yellow=Yellow Chief Fess +item.banner.stripe_top.lightBlue=Light Blue Chief Fess +item.banner.stripe_top.magenta=Magenta Chief Fess +item.banner.stripe_top.orange=Orange Chief Fess +item.banner.stripe_top.white=White Chief Fess +item.banner.stripe_left.black=Black Pale Dexter +item.banner.stripe_left.red=Red Pale Dexter +item.banner.stripe_left.green=Green Pale Dexter +item.banner.stripe_left.brown=Brown Pale Dexter +item.banner.stripe_left.blue=Blue Pale Dexter +item.banner.stripe_left.purple=Purple Pale Dexter +item.banner.stripe_left.cyan=Cyan Pale Dexter +item.banner.stripe_left.silver=Light Gray Pale Dexter +item.banner.stripe_left.gray=Gray Pale Dexter +item.banner.stripe_left.pink=Pink Pale Dexter +item.banner.stripe_left.lime=Lime Pale Dexter +item.banner.stripe_left.yellow=Yellow Pale Dexter +item.banner.stripe_left.lightBlue=Light Blue Pale Dexter +item.banner.stripe_left.magenta=Magenta Pale Dexter +item.banner.stripe_left.orange=Orange Pale Dexter +item.banner.stripe_left.white=White Pale Dexter +item.banner.stripe_right.black=Black Pale Sinister +item.banner.stripe_right.red=Red Pale Sinister +item.banner.stripe_right.green=Green Pale Sinister +item.banner.stripe_right.brown=Brown Pale Sinister +item.banner.stripe_right.blue=Blue Pale Sinister +item.banner.stripe_right.purple=Purple Pale Sinister +item.banner.stripe_right.cyan=Cyan Pale Sinister +item.banner.stripe_right.silver=Light Gray Pale Sinister +item.banner.stripe_right.gray=Gray Pale Sinister +item.banner.stripe_right.pink=Pink Pale Sinister +item.banner.stripe_right.lime=Lime Pale Sinister +item.banner.stripe_right.yellow=Yellow Pale Sinister +item.banner.stripe_right.lightBlue=Light Blue Pale Sinister +item.banner.stripe_right.magenta=Magenta Pale Sinister +item.banner.stripe_right.orange=Orange Pale Sinister +item.banner.stripe_right.white=White Pale Sinister +item.banner.stripe_center.black=Black Pale +item.banner.stripe_center.red=Red Pale +item.banner.stripe_center.green=Green Pale +item.banner.stripe_center.brown=Brown Pale +item.banner.stripe_center.blue=Blue Pale +item.banner.stripe_center.purple=Purple Pale +item.banner.stripe_center.cyan=Cyan Pale +item.banner.stripe_center.silver=Light Gray Pale +item.banner.stripe_center.gray=Gray Pale +item.banner.stripe_center.pink=Pink Pale +item.banner.stripe_center.lime=Lime Pale +item.banner.stripe_center.yellow=Yellow Pale +item.banner.stripe_center.lightBlue=Light Blue Pale +item.banner.stripe_center.magenta=Magenta Pale +item.banner.stripe_center.orange=Orange Pale +item.banner.stripe_center.white=White Pale +item.banner.stripe_middle.black=Black Fess +item.banner.stripe_middle.red=Red Fess +item.banner.stripe_middle.green=Green Fess +item.banner.stripe_middle.brown=Brown Fess +item.banner.stripe_middle.blue=Blue Fess +item.banner.stripe_middle.purple=Purple Fess +item.banner.stripe_middle.cyan=Cyan Fess +item.banner.stripe_middle.silver=Light Gray Fess +item.banner.stripe_middle.gray=Gray Fess +item.banner.stripe_middle.pink=Pink Fess +item.banner.stripe_middle.lime=Lime Fess +item.banner.stripe_middle.yellow=Yellow Fess +item.banner.stripe_middle.lightBlue=Light Blue Fess +item.banner.stripe_middle.magenta=Magenta Fess +item.banner.stripe_middle.orange=Orange Fess +item.banner.stripe_middle.white=White Fess +item.banner.stripe_downright.black=Black Bend +item.banner.stripe_downright.red=Red Bend +item.banner.stripe_downright.green=Green Bend +item.banner.stripe_downright.brown=Brown Bend +item.banner.stripe_downright.blue=Blue Bend +item.banner.stripe_downright.purple=Purple Bend +item.banner.stripe_downright.cyan=Cyan Bend +item.banner.stripe_downright.silver=Light Gray Bend +item.banner.stripe_downright.gray=Gray Bend +item.banner.stripe_downright.pink=Pink Bend +item.banner.stripe_downright.lime=Lime Bend +item.banner.stripe_downright.yellow=Yellow Bend +item.banner.stripe_downright.lightBlue=Light Blue Bend +item.banner.stripe_downright.magenta=Magenta Bend +item.banner.stripe_downright.orange=Orange Bend +item.banner.stripe_downright.white=White Bend +item.banner.stripe_downleft.black=Black Bend Sinister +item.banner.stripe_downleft.red=Red Bend Sinister +item.banner.stripe_downleft.green=Green Bend Sinister +item.banner.stripe_downleft.brown=Brown Bend Sinister +item.banner.stripe_downleft.blue=Blue Bend Sinister +item.banner.stripe_downleft.purple=Purple Bend Sinister +item.banner.stripe_downleft.cyan=Cyan Bend Sinister +item.banner.stripe_downleft.silver=Light Gray Bend Sinister +item.banner.stripe_downleft.gray=Gray Bend Sinister +item.banner.stripe_downleft.pink=Pink Bend Sinister +item.banner.stripe_downleft.lime=Lime Bend Sinister +item.banner.stripe_downleft.yellow=Yellow Bend Sinister +item.banner.stripe_downleft.lightBlue=Light Blue Bend Sinister +item.banner.stripe_downleft.magenta=Magenta Bend Sinister +item.banner.stripe_downleft.orange=Orange Bend Sinister +item.banner.stripe_downleft.white=White Bend Sinister +item.banner.small_stripes.black=Black Paly +item.banner.small_stripes.red=Red Paly +item.banner.small_stripes.green=Green Paly +item.banner.small_stripes.brown=Brown Paly +item.banner.small_stripes.blue=Blue Paly +item.banner.small_stripes.purple=Purple Paly +item.banner.small_stripes.cyan=Cyan Paly +item.banner.small_stripes.silver=Light Gray Paly +item.banner.small_stripes.gray=Gray Paly +item.banner.small_stripes.pink=Pink Paly +item.banner.small_stripes.lime=Lime Paly +item.banner.small_stripes.yellow=Yellow Paly +item.banner.small_stripes.lightBlue=Light Blue Paly +item.banner.small_stripes.magenta=Magenta Paly +item.banner.small_stripes.orange=Orange Paly +item.banner.small_stripes.white=White Paly +item.banner.cross.black=Black Saltire +item.banner.cross.red=Red Saltire +item.banner.cross.green=Green Saltire +item.banner.cross.brown=Brown Saltire +item.banner.cross.blue=Blue Saltire +item.banner.cross.purple=Purple Saltire +item.banner.cross.cyan=Cyan Saltire +item.banner.cross.silver=Light Gray Saltire +item.banner.cross.gray=Gray Saltire +item.banner.cross.pink=Pink Saltire +item.banner.cross.lime=Lime Saltire +item.banner.cross.yellow=Yellow Saltire +item.banner.cross.lightBlue=Light Blue Saltire +item.banner.cross.magenta=Magenta Saltire +item.banner.cross.orange=Orange Saltire +item.banner.cross.white=White Saltire +item.banner.triangle_bottom.black=Black Chevron +item.banner.triangle_bottom.red=Red Chevron +item.banner.triangle_bottom.green=Green Chevron +item.banner.triangle_bottom.brown=Brown Chevron +item.banner.triangle_bottom.blue=Blue Chevron +item.banner.triangle_bottom.purple=Purple Chevron +item.banner.triangle_bottom.cyan=Cyan Chevron +item.banner.triangle_bottom.silver=Light Gray Chevron +item.banner.triangle_bottom.gray=Gray Chevron +item.banner.triangle_bottom.pink=Pink Chevron +item.banner.triangle_bottom.lime=Lime Chevron +item.banner.triangle_bottom.yellow=Yellow Chevron +item.banner.triangle_bottom.lightBlue=Light Blue Chevron +item.banner.triangle_bottom.magenta=Magenta Chevron +item.banner.triangle_bottom.orange=Orange Chevron +item.banner.triangle_bottom.white=White Chevron +item.banner.triangle_top.black=Black Inverted Chevron +item.banner.triangle_top.red=Red Inverted Chevron +item.banner.triangle_top.green=Green Inverted Chevron +item.banner.triangle_top.brown=Brown Inverted Chevron +item.banner.triangle_top.blue=Blue Inverted Chevron +item.banner.triangle_top.purple=Purple Inverted Chevron +item.banner.triangle_top.cyan=Cyan Inverted Chevron +item.banner.triangle_top.silver=Light Gray Inverted Chevron +item.banner.triangle_top.gray=Gray Inverted Chevron +item.banner.triangle_top.pink=Pink Inverted Chevron +item.banner.triangle_top.lime=Lime Inverted Chevron +item.banner.triangle_top.yellow=Yellow Inverted Chevron +item.banner.triangle_top.lightBlue=Light Blue Inverted Chevron +item.banner.triangle_top.magenta=Magenta Inverted Chevron +item.banner.triangle_top.orange=Orange Inverted Chevron +item.banner.triangle_top.white=White Inverted Chevron +item.banner.triangles_bottom.black=Black Base Indented +item.banner.triangles_bottom.red=Red Base Indented +item.banner.triangles_bottom.green=Green Base Indented +item.banner.triangles_bottom.brown=Brown Base Indented +item.banner.triangles_bottom.blue=Blue Base Indented +item.banner.triangles_bottom.purple=Purple Base Indented +item.banner.triangles_bottom.cyan=Cyan Base Indented +item.banner.triangles_bottom.silver=Light Gray Base Indented +item.banner.triangles_bottom.gray=Gray Base Indented +item.banner.triangles_bottom.pink=Pink Base Indented +item.banner.triangles_bottom.lime=Lime Base Indented +item.banner.triangles_bottom.yellow=Yellow Base Indented +item.banner.triangles_bottom.lightBlue=Light Blue Base Indented +item.banner.triangles_bottom.magenta=Magenta Base Indented +item.banner.triangles_bottom.orange=Orange Base Indented +item.banner.triangles_bottom.white=White Base Indented +item.banner.triangles_top.black=Black Chief Indented +item.banner.triangles_top.red=Red Chief Indented +item.banner.triangles_top.green=Green Chief Indented +item.banner.triangles_top.brown=Brown Chief Indented +item.banner.triangles_top.blue=Blue Chief Indented +item.banner.triangles_top.purple=Purple Chief Indented +item.banner.triangles_top.cyan=Cyan Chief Indented +item.banner.triangles_top.silver=Light Gray Chief Indented +item.banner.triangles_top.gray=Gray Chief Indented +item.banner.triangles_top.pink=Pink Chief Indented +item.banner.triangles_top.lime=Lime Chief Indented +item.banner.triangles_top.yellow=Yellow Chief Indented +item.banner.triangles_top.lightBlue=Light Blue Chief Indented +item.banner.triangles_top.magenta=Magenta Chief Indented +item.banner.triangles_top.orange=Orange Chief Indented +item.banner.triangles_top.white=White Chief Indented +item.banner.diagonal_left.black=Black Per Bend Sinister +item.banner.diagonal_left.red=Red Per Bend Sinister +item.banner.diagonal_left.green=Green Per Bend Sinister +item.banner.diagonal_left.brown=Brown Per Bend Sinister +item.banner.diagonal_left.blue=Blue Per Bend Sinister +item.banner.diagonal_left.purple=Purple Per Bend Sinister +item.banner.diagonal_left.cyan=Cyan Per Bend Sinister +item.banner.diagonal_left.silver=Light Gray Per Bend Sinister +item.banner.diagonal_left.gray=Gray Per Bend Sinister +item.banner.diagonal_left.pink=Pink Per Bend Sinister +item.banner.diagonal_left.lime=Lime Per Bend Sinister +item.banner.diagonal_left.yellow=Yellow Per Bend Sinister +item.banner.diagonal_left.lightBlue=Light Blue Per Bend Sinister +item.banner.diagonal_left.magenta=Magenta Per Bend Sinister +item.banner.diagonal_left.orange=Orange Per Bend Sinister +item.banner.diagonal_left.white=White Per Bend Sinister +item.banner.diagonal_right.black=Black Per Bend +item.banner.diagonal_right.red=Red Per Bend +item.banner.diagonal_right.green=Green Per Bend +item.banner.diagonal_right.brown=Brown Per Bend +item.banner.diagonal_right.blue=Blue Per Bend +item.banner.diagonal_right.purple=Purple Per Bend +item.banner.diagonal_right.cyan=Cyan Per Bend +item.banner.diagonal_right.silver=Light Gray Per Bend +item.banner.diagonal_right.gray=Gray Per Bend +item.banner.diagonal_right.pink=Pink Per Bend +item.banner.diagonal_right.lime=Lime Per Bend +item.banner.diagonal_right.yellow=Yellow Per Bend +item.banner.diagonal_right.lightBlue=Light Blue Per Bend +item.banner.diagonal_right.magenta=Magenta Per Bend +item.banner.diagonal_right.orange=Orange Per Bend +item.banner.diagonal_right.white=White Per Bend +item.banner.diagonal_up_left.black=Black Per Bend Inverted +item.banner.diagonal_up_left.red=Red Per Bend Inverted +item.banner.diagonal_up_left.green=Green Per Bend Inverted +item.banner.diagonal_up_left.brown=Brown Per Bend Inverted +item.banner.diagonal_up_left.blue=Blue Per Bend Inverted +item.banner.diagonal_up_left.purple=Purple Per Bend Inverted +item.banner.diagonal_up_left.cyan=Cyan Per Bend Inverted +item.banner.diagonal_up_left.silver=Light Gray Per Bend Inverted +item.banner.diagonal_up_left.gray=Gray Per Bend Inverted +item.banner.diagonal_up_left.pink=Pink Per Bend Inverted +item.banner.diagonal_up_left.lime=Lime Per Bend Inverted +item.banner.diagonal_up_left.yellow=Yellow Per Bend Inverted +item.banner.diagonal_up_left.lightBlue=Light Blue Per Bend Inverted +item.banner.diagonal_up_left.magenta=Magenta Per Bend Inverted +item.banner.diagonal_up_left.orange=Orange Per Bend Inverted +item.banner.diagonal_up_left.white=White Per Bend Inverted +item.banner.diagonal_up_right.black=Black Per Bend Sinister Inverted +item.banner.diagonal_up_right.red=Red Per Bend Sinister Inverted +item.banner.diagonal_up_right.green=Green Per Bend Sinister Inverted +item.banner.diagonal_up_right.brown=Brown Per Bend Sinister Inverted +item.banner.diagonal_up_right.blue=Blue Per Bend Sinister Inverted +item.banner.diagonal_up_right.purple=Purple Per Bend Sinister Inverted +item.banner.diagonal_up_right.cyan=Cyan Per Bend Sinister Inverted +item.banner.diagonal_up_right.silver=Light Gray Per Bend Sinister Inverted +item.banner.diagonal_up_right.gray=Gray Per Bend Sinister Inverted +item.banner.diagonal_up_right.pink=Pink Per Bend Sinister Inverted +item.banner.diagonal_up_right.lime=Lime Per Bend Sinister Inverted +item.banner.diagonal_up_right.yellow=Yellow Per Bend Sinister Inverted +item.banner.diagonal_up_right.lightBlue=Light Blue Per Bend Sinister Inverted +item.banner.diagonal_up_right.magenta=Magenta Per Bend Sinister Inverted +item.banner.diagonal_up_right.orange=Orange Per Bend Sinister Inverted +item.banner.diagonal_up_right.white=White Per Bend Sinister Inverted +item.banner.circle.black=Black Roundel +item.banner.circle.red=Red Roundel +item.banner.circle.green=Green Roundel +item.banner.circle.brown=Brown Roundel +item.banner.circle.blue=Blue Roundel +item.banner.circle.purple=Purple Roundel +item.banner.circle.cyan=Cyan Roundel +item.banner.circle.silver=Light Gray Roundel +item.banner.circle.gray=Gray Roundel +item.banner.circle.pink=Pink Roundel +item.banner.circle.lime=Lime Roundel +item.banner.circle.yellow=Yellow Roundel +item.banner.circle.lightBlue=Light Blue Roundel +item.banner.circle.magenta=Magenta Roundel +item.banner.circle.orange=Orange Roundel +item.banner.circle.white=White Roundel +item.banner.rhombus.black=Black Lozenge +item.banner.rhombus.red=Red Lozenge +item.banner.rhombus.green=Green Lozenge +item.banner.rhombus.brown=Brown Lozenge +item.banner.rhombus.blue=Blue Lozenge +item.banner.rhombus.purple=Purple Lozenge +item.banner.rhombus.cyan=Cyan Lozenge +item.banner.rhombus.silver=Light Gray Lozenge +item.banner.rhombus.gray=Gray Lozenge +item.banner.rhombus.pink=Pink Lozenge +item.banner.rhombus.lime=Lime Lozenge +item.banner.rhombus.yellow=Yellow Lozenge +item.banner.rhombus.lightBlue=Light Blue Lozenge +item.banner.rhombus.magenta=Magenta Lozenge +item.banner.rhombus.orange=Orange Lozenge +item.banner.rhombus.white=White Lozenge +item.banner.half_vertical.black=Black Per Pale +item.banner.half_vertical.red=Red Per Pale +item.banner.half_vertical.green=Green Per Pale +item.banner.half_vertical.brown=Brown Per Pale +item.banner.half_vertical.blue=Blue Per Pale +item.banner.half_vertical.purple=Purple Per Pale +item.banner.half_vertical.cyan=Cyan Per Pale +item.banner.half_vertical.silver=Light Gray Per Pale +item.banner.half_vertical.gray=Gray Per Pale +item.banner.half_vertical.pink=Pink Per Pale +item.banner.half_vertical.lime=Lime Per Pale +item.banner.half_vertical.yellow=Yellow Per Pale +item.banner.half_vertical.lightBlue=Light Blue Per Pale +item.banner.half_vertical.magenta=Magenta Per Pale +item.banner.half_vertical.orange=Orange Per Pale +item.banner.half_vertical.white=White Per Pale +item.banner.half_horizontal.black=Black Per Fess +item.banner.half_horizontal.red=Red Per Fess +item.banner.half_horizontal.green=Green Per Fess +item.banner.half_horizontal.brown=Brown Per Fess +item.banner.half_horizontal.blue=Blue Per Fess +item.banner.half_horizontal.purple=Purple Per Fess +item.banner.half_horizontal.cyan=Cyan Per Fess +item.banner.half_horizontal.silver=Light Gray Per Fess +item.banner.half_horizontal.gray=Gray Per Fess +item.banner.half_horizontal.pink=Pink Per Fess +item.banner.half_horizontal.lime=Lime Per Fess +item.banner.half_horizontal.yellow=Yellow Per Fess +item.banner.half_horizontal.lightBlue=Light Blue Per Fess +item.banner.half_horizontal.magenta=Magenta Per Fess +item.banner.half_horizontal.orange=Orange Per Fess +item.banner.half_horizontal.white=White Per Fess +item.banner.half_vertical_right.black=Black Per Pale Inverted +item.banner.half_vertical_right.red=Red Per Pale Inverted +item.banner.half_vertical_right.green=Green Per Pale Inverted +item.banner.half_vertical_right.brown=Brown Per Pale Inverted +item.banner.half_vertical_right.blue=Blue Per Pale Inverted +item.banner.half_vertical_right.purple=Purple Per Pale Inverted +item.banner.half_vertical_right.cyan=Cyan Per Pale Inverted +item.banner.half_vertical_right.silver=Light Gray Per Pale Inverted +item.banner.half_vertical_right.gray=Gray Per Pale Inverted +item.banner.half_vertical_right.pink=Pink Per Pale Inverted +item.banner.half_vertical_right.lime=Lime Per Pale Inverted +item.banner.half_vertical_right.yellow=Yellow Per Pale Inverted +item.banner.half_vertical_right.lightBlue=Light Blue Per Pale Inverted +item.banner.half_vertical_right.magenta=Magenta Per Pale Inverted +item.banner.half_vertical_right.orange=Orange Per Pale Inverted +item.banner.half_vertical_right.white=White Per Pale Inverted +item.banner.half_horizontal_bottom.black=Black Per Fess Inverted +item.banner.half_horizontal_bottom.red=Red Per Fess Inverted +item.banner.half_horizontal_bottom.green=Green Per Fess Inverted +item.banner.half_horizontal_bottom.brown=Brown Per Fess Inverted +item.banner.half_horizontal_bottom.blue=Blue Per Fess Inverted +item.banner.half_horizontal_bottom.purple=Purple Per Fess Inverted +item.banner.half_horizontal_bottom.cyan=Cyan Per Fess Inverted +item.banner.half_horizontal_bottom.silver=Light Gray Per Fess Inverted +item.banner.half_horizontal_bottom.gray=Gray Per Fess Inverted +item.banner.half_horizontal_bottom.pink=Pink Per Fess Inverted +item.banner.half_horizontal_bottom.lime=Lime Per Fess Inverted +item.banner.half_horizontal_bottom.yellow=Yellow Per Fess Inverted +item.banner.half_horizontal_bottom.lightBlue=Light Blue Per Fess Inverted +item.banner.half_horizontal_bottom.magenta=Magenta Per Fess Inverted +item.banner.half_horizontal_bottom.orange=Orange Per Fess Inverted +item.banner.half_horizontal_bottom.white=White Per Fess Inverted +item.banner.creeper.black=Black Creeper Charge +item.banner.creeper.red=Red Creeper Charge +item.banner.creeper.green=Green Creeper Charge +item.banner.creeper.brown=Brown Creeper Charge +item.banner.creeper.blue=Blue Creeper Charge +item.banner.creeper.purple=Purple Creeper Charge +item.banner.creeper.cyan=Cyan Creeper Charge +item.banner.creeper.silver=Light Gray Creeper Charge +item.banner.creeper.gray=Gray Creeper Charge +item.banner.creeper.pink=Pink Creeper Charge +item.banner.creeper.lime=Lime Creeper Charge +item.banner.creeper.yellow=Yellow Creeper Charge +item.banner.creeper.lightBlue=Light Blue Creeper Charge +item.banner.creeper.magenta=Magenta Creeper Charge +item.banner.creeper.orange=Orange Creeper Charge +item.banner.creeper.white=White Creeper Charge +item.banner.bricks.black=Black Field Masoned +item.banner.bricks.red=Red Field Masoned +item.banner.bricks.green=Green Field Masoned +item.banner.bricks.brown=Brown Field Masoned +item.banner.bricks.blue=Blue Field Masoned +item.banner.bricks.purple=Purple Field Masoned +item.banner.bricks.cyan=Cyan Field Masoned +item.banner.bricks.silver=Light Gray Field Masoned +item.banner.bricks.gray=Gray Field Masoned +item.banner.bricks.pink=Pink Field Masoned +item.banner.bricks.lime=Lime Field Masoned +item.banner.bricks.yellow=Yellow Field Masoned +item.banner.bricks.lightBlue=Light Blue Field Masoned +item.banner.bricks.magenta=Magenta Field Masoned +item.banner.bricks.orange=Orange Field Masoned +item.banner.bricks.white=White Field Masoned +item.banner.gradient.black=Black Gradient +item.banner.gradient.red=Red Gradient +item.banner.gradient.green=Green Gradient +item.banner.gradient.brown=Brown Gradient +item.banner.gradient.blue=Blue Gradient +item.banner.gradient.purple=Purple Gradient +item.banner.gradient.cyan=Cyan Gradient +item.banner.gradient.silver=Light Gray Gradient +item.banner.gradient.gray=Gray Gradient +item.banner.gradient.pink=Pink Gradient +item.banner.gradient.lime=Lime Gradient +item.banner.gradient.yellow=Yellow Gradient +item.banner.gradient.lightBlue=Light Blue Gradient +item.banner.gradient.magenta=Magenta Gradient +item.banner.gradient.orange=Orange Gradient +item.banner.gradient.white=White Gradient +item.banner.gradient_up.black=Black Base Gradient +item.banner.gradient_up.red=Red Base Gradient +item.banner.gradient_up.green=Green Base Gradient +item.banner.gradient_up.brown=Brown Base Gradient +item.banner.gradient_up.blue=Blue Base Gradient +item.banner.gradient_up.purple=Purple Base Gradient +item.banner.gradient_up.cyan=Cyan Base Gradient +item.banner.gradient_up.silver=Light Gray Base Gradient +item.banner.gradient_up.gray=Gray Base Gradient +item.banner.gradient_up.pink=Pink Base Gradient +item.banner.gradient_up.lime=Lime Base Gradient +item.banner.gradient_up.yellow=Yellow Base Gradient +item.banner.gradient_up.lightBlue=Light Blue Base Gradient +item.banner.gradient_up.magenta=Magenta Base Gradient +item.banner.gradient_up.orange=Orange Base Gradient +item.banner.gradient_up.white=White Base Gradient +item.banner.skull.black=Black Skull Charge +item.banner.skull.red=Red Skull Charge +item.banner.skull.green=Green Skull Charge +item.banner.skull.brown=Brown Skull Charge +item.banner.skull.blue=Blue Skull Charge +item.banner.skull.purple=Purple Skull Charge +item.banner.skull.cyan=Cyan Skull Charge +item.banner.skull.silver=Light Gray Skull Charge +item.banner.skull.gray=Gray Skull Charge +item.banner.skull.pink=Pink Skull Charge +item.banner.skull.lime=Lime Skull Charge +item.banner.skull.yellow=Yellow Skull Charge +item.banner.skull.lightBlue=Light Blue Skull Charge +item.banner.skull.magenta=Magenta Skull Charge +item.banner.skull.orange=Orange Skull Charge +item.banner.skull.white=White Skull Charge +item.banner.flower.black=Black Flower Charge +item.banner.flower.red=Red Flower Charge +item.banner.flower.green=Green Flower Charge +item.banner.flower.brown=Brown Flower Charge +item.banner.flower.blue=Blue Flower Charge +item.banner.flower.purple=Purple Flower Charge +item.banner.flower.cyan=Cyan Flower Charge +item.banner.flower.silver=Light Gray Flower Charge +item.banner.flower.gray=Gray Flower Charge +item.banner.flower.pink=Pink Flower Charge +item.banner.flower.lime=Lime Flower Charge +item.banner.flower.yellow=Yellow Flower Charge +item.banner.flower.lightBlue=Light Blue Flower Charge +item.banner.flower.magenta=Magenta Flower Charge +item.banner.flower.orange=Orange Flower Charge +item.banner.flower.white=White Flower Charge +item.banner.border.black=Black Bordure +item.banner.border.red=Red Bordure +item.banner.border.green=Green Bordure +item.banner.border.brown=Brown Bordure +item.banner.border.blue=Blue Bordure +item.banner.border.purple=Purple Bordure +item.banner.border.cyan=Cyan Bordure +item.banner.border.silver=Light Gray Bordure +item.banner.border.gray=Gray Bordure +item.banner.border.pink=Pink Bordure +item.banner.border.lime=Lime Bordure +item.banner.border.yellow=Yellow Bordure +item.banner.border.lightBlue=Light Blue Bordure +item.banner.border.magenta=Magenta Bordure +item.banner.border.orange=Orange Bordure +item.banner.border.white=White Bordure +item.banner.curly_border.black=Black Bordure Indented +item.banner.curly_border.red=Red Bordure Indented +item.banner.curly_border.green=Green Bordure Indented +item.banner.curly_border.brown=Brown Bordure Indented +item.banner.curly_border.blue=Blue Bordure Indented +item.banner.curly_border.purple=Purple Bordure Indented +item.banner.curly_border.cyan=Cyan Bordure Indented +item.banner.curly_border.silver=Light Gray Bordure Indented +item.banner.curly_border.gray=Gray Bordure Indented +item.banner.curly_border.pink=Pink Bordure Indented +item.banner.curly_border.lime=Lime Bordure Indented +item.banner.curly_border.yellow=Yellow Bordure Indented +item.banner.curly_border.lightBlue=Light Blue Bordure Indented +item.banner.curly_border.magenta=Magenta Bordure Indented +item.banner.curly_border.orange=Orange Bordure Indented +item.banner.curly_border.white=White Bordure Indented +item.banner.mojang.black=Black Thing +item.banner.mojang.red=Red Thing +item.banner.mojang.green=Green Thing +item.banner.mojang.brown=Brown Thing +item.banner.mojang.blue=Blue Thing +item.banner.mojang.purple=Purple Thing +item.banner.mojang.cyan=Cyan Thing +item.banner.mojang.silver=Light Gray Thing +item.banner.mojang.gray=Gray Thing +item.banner.mojang.pink=Pink Thing +item.banner.mojang.lime=Lime Thing +item.banner.mojang.yellow=Yellow Thing +item.banner.mojang.lightBlue=Light Blue Thing +item.banner.mojang.magenta=Magenta Thing +item.banner.mojang.orange=Orange Thing +item.banner.mojang.white=White Thing +item.banner.straight_cross.black=Black Cross +item.banner.straight_cross.red=Red Cross +item.banner.straight_cross.green=Green Cross +item.banner.straight_cross.brown=Brown Cross +item.banner.straight_cross.blue=Blue Cross +item.banner.straight_cross.purple=Purple Cross +item.banner.straight_cross.cyan=Cyan Cross +item.banner.straight_cross.silver=Light Gray Cross +item.banner.straight_cross.gray=Gray Cross +item.banner.straight_cross.pink=Pink Cross +item.banner.straight_cross.lime=Lime Cross +item.banner.straight_cross.yellow=Yellow Cross +item.banner.straight_cross.lightBlue=Light Blue Cross +item.banner.straight_cross.magenta=Magenta Cross +item.banner.straight_cross.orange=Orange Cross +item.banner.straight_cross.white=White Cross + +# Block names that will be displayed in the hologram +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.name=Dirt +tile.dirt.default.name=Dirt +tile.dirt.coarse.name=Coarse Dirt +tile.dirt.podzol.name=Podzol +tile.stonebrick.name=Cobblestone +tile.wood.name=Wooden Planks +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.name=Sand +tile.sand.default.name=Sand +tile.sand.red.name=Red Sand +tile.sandStone.name=Sandstone +tile.sandStone.default.name=Sandstone +tile.sandStone.chiseled.name=Chiseled Sandstone +tile.sandStone.smooth.name=Smooth Sandstone +tile.redSandStone.name=Red 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.name=Wood +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.name=Leaves +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.name=Grass +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.name=Stained 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.name=Stained Glass Pane +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.cloth.name=Wool +tile.flower1.name=Flower +tile.flower1.dandelion.name=Dandelion +tile.flower2.name=Flower +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.name=Plant +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.name=Stone Slab +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.name=Wood 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.redstoneDust.name=Redstone Dust +tile.oreDiamond.name=Diamond Ore +tile.blockCoal.name=Block of Coal +tile.blockDiamond.name=Block of Diamond +tile.workbench.name=Crafting Table +tile.crops.name=Crops +tile.farmland.name=Farmland +tile.furnace.name=Furnace +tile.sign.name=Sign +tile.doorWood.name=Wooden Door +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.doorIron.name=Iron Door +tile.oreRedstone.name=Redstone Ore +tile.notGate.name=Redstone Torch +tile.button.name=Button +tile.snow.name=Snow +tile.woolCarpet.name=Carpet +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=Carpet +tile.ice.name=Ice +tile.frostedIce.name=Frosted Ice +tile.icePacked.name=Packed Ice +tile.cactus.name=Cactus +tile.clay.name=Clay +tile.clayHardenedStained.name=Stained Hardened Clay +tile.clayHardenedStained.black.name=Black Hardened Clay +tile.clayHardenedStained.red.name=Red Hardened Clay +tile.clayHardenedStained.green.name=Green Hardened Clay +tile.clayHardenedStained.brown.name=Brown Hardened Clay +tile.clayHardenedStained.blue.name=Blue Hardened Clay +tile.clayHardenedStained.purple.name=Purple Hardened Clay +tile.clayHardenedStained.cyan.name=Cyan Hardened Clay +tile.clayHardenedStained.silver.name=Light Gray Hardened Clay +tile.clayHardenedStained.gray.name=Gray Hardened Clay +tile.clayHardenedStained.pink.name=Pink Hardened Clay +tile.clayHardenedStained.lime.name=Lime Hardened Clay +tile.clayHardenedStained.yellow.name=Yellow Hardened Clay +tile.clayHardenedStained.lightBlue.name=Light Blue Hardened Clay +tile.clayHardenedStained.magenta.name=Magenta Hardened Clay +tile.clayHardenedStained.orange.name=Orange Hardened Clay +tile.clayHardenedStained.white.name=White Hardened Clay +tile.clayHardened.name=Hardened Clay +tile.reeds.name=Sugar cane +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.pumpkinStem.name=Pumpkin Stem +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=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.cake.name=Cake +tile.bed.name=Bed +tile.lockedchest.name=Locked chest +tile.trapdoor.name=Wooden Trapdoor +tile.ironTrapdoor.name=Iron Trapdoor +tile.web.name=Cobweb +tile.stonebricksmooth.name=Stone Bricks +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.name=Stone Monster Egg +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.cauldron.name=Cauldron +tile.enchantmentTable.name=Enchantment Table +tile.anvil.name=Anvil +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.cocoa.name=Cocoa +tile.enderChest.name=Ender Chest +tile.oreEmerald.name=Emerald Ore +tile.blockEmerald.name=Block of Emerald +tile.blockRedstone.name=Block of Redstone +tile.tripWire.name=Tripwire +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.carrots.name=Carrots +tile.potatoes.name=Potatoes +tile.daylightDetector.name=Daylight Sensor +tile.netherquartz.name=Nether Quartz Ore +tile.hopper.name=Hopper +tile.quartzBlock.name=Block of Quartz +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.beetroots.name=Beetroots +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.structureVoid.name=Structure Void +tile.structureBlock.name=Structure Block \ No newline at end of file diff --git a/libs/org/jsoup/Connection$Base.class b/libs/org/jsoup/Connection$Base.class deleted file mode 100644 index 17e9dcd2634b8e1f1c371f18c1196e86fcd798da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1207 zcma)5+fExX5Iv?LOVR)#TvP6pOSY9*!3$DAsBNSQq#z^`T8TF|Sjnc#8tsLT$S?}^YZn+|`E-&hb44EI? z7Yv0{*A-sP;l3|?hOd=>d1hUDZL90c@YbqHqP7BCx|@-fV&ocj+vP#%QK0ETWwS|) z?2QOI^4dU!_GfC(uu5*UVPgWxs+FOHH{^+{jsJ*aV;#Y-g~za+_;$G4wiKjl*3$y`zMLXS&h!TVko7Y-*(XX#hs9TVn;*P7$teZ6F2fs z^s-nQ;qdp&>lDhp5!aVmYO2?JVPHGf8Na3fJs8A}UK@Ok97he+lJc)juZ+r5OZLe- zdPgJXQ11PsX0@tsCDkm)eM!#$bg8>3MZO_JuO)uk4yBoV>H6Jhf()1pWo`Gy165RW zrdlG7$grrT_oiV+cbjEk7@<)HCNng}$N*|J2p=PK1UWkAF|P1DCQ>}&7cr&qB1$Pf zP52CE6+VY~wJxBX-hZO|MJ%P~Wje1UaaIQ6tR`{R2K4LwdU72*-N0w%coSJ#OXQtl O3!~W_KGItFR(=ML9zN0l diff --git a/libs/org/jsoup/Connection$KeyVal.class b/libs/org/jsoup/Connection$KeyVal.class deleted file mode 100644 index fb9a423f9233058ab8759d2cb3e4c9605d1b290b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmah_%SyvQ6g{`LnI^5RkAe%gE|QHy!CjXHp;&NHaN%w&Lrjb_C6g5TYcBi%KdN}0 zRw638nZv!zdEK||%PW8}MgqqICxnA1y&(iQdUK}=LVsqAE~kZZPCLRlp66<=bdt<%nabSRdL^fpzb~uInv0#ngfNPepCm$Ot%_O`dYM_(6>DkrOt{(`WLD0a z{l6Y(pB~?Mgu$b7UzE6DoZJ(lg{{k_zRn7cFl=I9e$*2w2_{4x{vpE95qwv_>&t2^15Ru=9=y~kpkeMwE{5wR4F=9myfOZhR15Y_|aR2}S diff --git a/libs/org/jsoup/Connection$Method.class b/libs/org/jsoup/Connection$Method.class deleted file mode 100644 index 35cdf89cc15ac9081cc4b34fe95f25aaf23aa46c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1347 zcmah|TTc^F5dKbg+ubf}fl`5T7pt}fsa5dSiiJ`xNfnYUO^Q!Tsb$HsYkDE^ANXT@ z(4t~A8lL@8#yO`|N+i&SGdpL#`DVU3(_g>8{REK2x*sy;H7wwvf=LCBH4NYhKc4bP zN<~N`o950l6~o*vst9xYT*U~t85N`4E-6@Mkk)bq2H%THW8d9l&^H{XQp?(AyjJwZ5os=ZEbUsm0Uho$T4`gmI~Q*24&x@FS~nh z8Q2bak>XN*J7+LVyt;zccVya4UVkbYy9z63-MtD!Z{Bh$FPn$Em0H2vwdqC?B%7}p zlF|Hud1NMR)2SwmM$K}nsn``Q1oLj$w2NlV;%psC*)b1^Iru*vsZU#u)mUU0x}e&| zPOM1NYV2Di%5PXz$80ofL?uT>M2f~}LTb8fcSz`h5)xg7a!&IweQDE+^dOqyHf!a| zs>LVJd-h~=d;mHo_|i=3$YMo7j$!nY=hYFxs*V`ebc|t~f5ml#Fr;IcA7Ors@M9E1 z41u!|^HymK%C_rJ7oljZOUCBz0WA@A8oH=7!$SA;#2%))vj08a`C>#j*qzsbZN!S1 zByIWt{dbg1nD-8lrS^p-1;UaDVMzxegIq1pH^Qeyz88K>;RYC{$(tt2e_9Ld3p}Tg zK9I+7lTM$AO%OhUTOIs7JmOXh%JHx8o|X PXbAL3gp~0J*E8Wi07(l8 diff --git a/libs/org/jsoup/Connection$Request.class b/libs/org/jsoup/Connection$Request.class deleted file mode 100644 index 78077bcad7cd9b2e1518db1123e1ff24aef6fb22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1083 zcmah|%Wl&^6g|@v8>f$?CD61fkJ19ph6pwY1z0qIhzO#pt1h}5l4&}T>j~p=A$%GO zK7fxxT#p^aNGVxZN9VrIeT;wq`S}aLGx#p{T^zW0#NZlvDO6$@N`A9T{8)TVL`;0O z8%08QLLSE=X4vz)&7RW3)+koVxYbeQ?Hj40gFK_nuyV=2AF9D5kUs=N-@rxsHWqcv~O!BkR90*EfAewRv8LfnkZh68&hK%d`sI z04(0L=;ho)#>-f-_A*v2uH}3!=j%CN&v_;16;y5f25LFpCe=Hnx`Zv#t7F^R>)5f_ kz;2FrDW;T1-p2!*u?LrMhwKaw;W!>P32zaW2=6)GUzi&r;s5{u diff --git a/libs/org/jsoup/Connection$Response.class b/libs/org/jsoup/Connection$Response.class deleted file mode 100644 index 0f8f043ad3f24f27f7f6925d1c0517e6fe232abe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmZuuOHaZ;7@Xy`l!qXof`TUwaIx`>F%i^+L?sb#o=Vx&65MUNTO)tXgFnC@W&FxR zIB;kunQvxx_S>J|uWtaCIOk|^oN}Bo~vrI4A$89B-IQlHr03H^uka|5f0{#*0C`A zEObCoGZoKaa@A4GSbxEsm4g5P diff --git a/libs/org/jsoup/Connection.class b/libs/org/jsoup/Connection.class deleted file mode 100644 index 8a01b037822fa4a6d307b600997b58e4140eefee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1876 zcma)6U02gU5S^8pP(TZUB0?3kLIEWr0%|J)1&USQyA3@#9r#RaG?*(f4rw6sm#ky-36W4Gl$p6BzQy7}4~7>A73!*^)ZIR9c}CCumtuiEgaz;{kyvHh_{ zM(eHG)2Eg3xG%Txt&|Q!CbmaUBm7R}+hcKgo%z-luLVtfd)S73+b1>Vg*}Nqzk$y! zl)<3b39AJX!<*_jf8N5m)^I=(Q$(YIz@(n7h6j>Y+LPt-HTKGOFt^OP{z5pl2#h36D*}URrm0Tb`+S7&oWOVzGuIlX*~Hye$?#S* z`>F&uk`lMWnX7Z$n!>{>(y)d1&TiHqK;RNiet?M-fvb=KP&lY?2qL@&!)iSeme>h9vQ6I(Tyv7fUf@1uke+#gmp*6E z^=f%sO$|;M#A0&G@&e~=c7E!_NA{^tSeg}1ZU4lMJ$^2eV*1fb7`Cl2cFnUS%p&tm znnshH7$$c8?s5@V>RVX+n|FbT7G z>b&+itF0AqBQAvs4MP>z(NeLF8w{OgfnH>uKXYP!airoddMZpjW@wE11;0a{I3RBO z{p0u6Aw%!KTQanB2ro3p?=E*|*jyn#SDF?lE7?)x1T%)=s%sS~O46igS07iE`d7vd zy{aZXwHke-K^~C|A}Ee*{Dk;nK?D|%=8&~I8BS)7hNcv;KyHp}%Lv^o M2*xG7?VLydFRcE;lK=n! diff --git a/libs/org/jsoup/Jsoup.class b/libs/org/jsoup/Jsoup.class deleted file mode 100644 index d5a69dd7e6da1d21db267f4ea9e6dfe31119a76f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4076 zcmbtX+jbLG82)yfWYRG7L@9)WrGn6=DWM{$ZLL5lw%C(ETd0ao)1jT3CUr6a>iNv_ z-Ur|TywD3v(Y3tv^a4JDrw34PTz-4cG&4Cguykdunb~{)|M!3YaV9_g^Yym?`fw+P zy?7ypOSmjASE87SVHR^ST*b8*=JBF@dP!bhmIBx1=_@<%Dhzp9h+z+|Ye>h?ghhEV zW4M8(7?xqlvlY2~O&(-4tZK*#LQWS3Hx z9oxz-4OH%Q2N1GkkWZb@r3_{)m_&AfsDw7!-xt%uG9P-F($O#NSkVH+BGrsy*cCFyBJWONt z|GTog=tU4#Ap76#ZJYO+4z{SeIhR{pzhE0nvYZ8?3tWz>ith3FWKAbEb7_2FtR|S3 zn=N61osP9?<_gY)mC4996k{w7)|5bdfNn|cgwq+*puiQ+a_z1RpyZ7krn8=!TecjN z#vJxbm2PafwRJ9Vpq4i0!=hz7>jL`%VildQDY~XzD&}z+maedK1;^TRPsxI|6$vcz9`+hThdNg!eSOuj2!J zsNo|Wk4n@bJgeh*e5_*vpYY}7V<@5m&3=-m7FN{A-KDlT=*FgsLrvhAuUa!d0(*SP zk{1c1qtkY?sKWtXBWkk^2l=eK0(b-+Ts6oh z6eyh4OQXRAMi}`ARFX3@znjWY$9CFXDpx`Mvrn# z+D_7@3`^0SL{D-Pk#hB`CGPa%I8~$*DHRv_BqLOZ6Wk4vPoHw^aSwcmVURJ8C3+GY z(5m1sDSS8XF>K+-Jp5ABlT|54%PHS1qx^(q{6Na5Jn(6{5u$vQ@#x(|Lpk~#g`RL_ zNZ3V>76TIX0zw3p>H3n;aL9W}D=EiVxs}fXVTs^Lm9=0wp5CT*DuC`PAh#V@$d#(H?Ye$->Rbh z9o4?)MEHTT;YUSb$OS6Kr?c2)oj8NDq!3|^pTjUsHlqdSS?wWeH}C~HOrr9B!J{=u z8Cj}P_8^J1`PSX>@^c^~(W1quvLgq?5H5O1cZsACDWM$f4;4M6XYr79F%pl^)!lRP zNV%u&WCi>}{a?xVH%`9aSuuYo+oLXO(RQNfZNl@GHu=^cSN0Dpze7ZcE5F0UYF2(n z$aVsg9@`s~mi6AQW>4dUWZT1hO!g)>(Ed43+%f5vz@Oys7jgbpjNC40FEVQPqM@+_ dWYp^@8Bx|{Y^M~~G{$(3(fV`z>phBwe*rGNs67Ax diff --git a/libs/org/jsoup/UnsupportedMimeTypeException.class b/libs/org/jsoup/UnsupportedMimeTypeException.class deleted file mode 100644 index 8190608087abb268b727b86461d9d048fd0dbfb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcma)4?`zXg6g{uWnk>uKt=+8CsjbtQX6=F>W$Fh-L8uB_JMd%HJhC^^B;<$af2H77 zQ1B1%j}q@o zjy(x?H9XQ_G3aA4=7Y~MXQ=nj-H)ylxS{VHXNd^?Lk1;J0*2~S5sK_N!xL-1=sKCs z34{7F@`$F^7a@O_k573ra8HARI2yUZiJJ&{FOzC^CQ=5gA0@tXo<@1>48t^!<0#3v z_qJ61>eGnFnTSG?s*QP?x;_nD@p<;Qf??C@%u6IsR5X<4^emd%WiXDTJQ?xVLdt6Y zkMBV4%EUT4CRVX#qJ}kw=IjPv!iZ&BIYic0B+Xw%PR(jQi#hpZNe+|sFn zk+BVmb-H=RmDq`W=t!xnDPjV7Q; z6|6v#u~Hz(sZjPNwo68bPFb~Ne?#R9feIu|wMaIK(dM+E9L;cRVY4#Z++5g9-;c&g tuLGiz%=QncA0{MVg6bu-x=ulgk$8EE6*?|q%rfl!!(d;@+bK-k`2%>z#{2*P diff --git a/libs/org/jsoup/examples/HtmlToPlainText$1.class b/libs/org/jsoup/examples/HtmlToPlainText$1.class deleted file mode 100644 index 367a3c1842384ca760d8e71f76ad7a0c42d83d30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 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 diff --git a/libs/org/jsoup/examples/ListLinks.class b/libs/org/jsoup/examples/ListLinks.class deleted file mode 100644 index ca952e54d004a5bf86e258ba13a4567b3bf9602e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3055 zcmai0{d*i$6@G8_W2Td_O{Zx}nh+Pumdz&3Y88QPEz&Oyq-ilFnwBb)-J9JhvpdVo zY@31#D2f)pzo3AMfYvXdRN1D0Jn)0R@HhB8{t^BzzISGm-E{LjCeO3?%)RHl=RN11 zb7nsL@7wPI_!QnXkitnF4;Yxomvwwa!-9cN;*^2Yc(5O5@KqgOGw={>9g8|jI?4tl zmJC!-Rg%+>vv^qjxEg8(wxO=WGtj^zI(!|0+6r}?(9zU!PJy4-v8>~Qjz@JorsL~6 zzM|5*Y4+sgp)fIO58h ztcME0B@`Fiuh8MP4RDCk^j$@?#|4kd9v$rLad6lxHQOFi$^)@Sx|9Ox%2K#WLq(FR z$+BY$Xilx+`62aYHhCiD46aLK7%jC(snAx8V4p3Om2J{n* zD|U-Pk#tP_1%G8bRHaj?^7<0C8=5$VS%Lm8Tjs%-j;}su%3g_%W8@f9SC}eh!uXOk zX&O-{tXd4vf`LX{A{r)M!(|Pxn|K3POuUJ!8vbVD?|92Z3okI%POjs&IoNdEvh+<{ z!-|RPc$=3!W#Szb`DiCGz1_$ zL%CDEC8rvAOUL?NH3pd1l2@;@zyfoC?w(HLrLEOm#h5tjQx8u7KbHgED@}EJown<=bgp zkgHL!w$rYxSJX7!6f_ru=%p21=eqlB>r>lqG-SOjuxA6Ry#u@5$EprOF9yLae95Qy zeE}pP)P&~mr}7aXxt~Mrvu`d z{Cmllpd~LOnXvj+kjN+Y&REIhKag5TOw6qyJ+T7qI&^_!lh&pdjM+)6pGz@0X_;zG zSs#nFhm$RAUcnY+q~w8OdN_R@TLmuRF(p|7?_*n08`fGFw6?b}bP0#89eU&|+MHWR z4r|s;Eey{sq$ur-q%@_GNTR7VN@-wl1ve`{moa9Ir8Wdmryo6OeY{OB)kThSH@Q2y z$yu57jc~WD@%e<3BH({oyJFxy9bAgtuzT0R-nz=tis2Y&3)z8PtATvOt( zs3ycixQ9IY_`R@zLpY2CisF78p_IfyF^!{?QuqR`RMmcw9QidsNmZ`W?&E4+#qK=o z>$Vnho#>6|tbl&jy(;3NSQq!vv-&g1W`;8ySe`XL2B*v diff --git a/libs/org/jsoup/helper/DataUtil.class b/libs/org/jsoup/helper/DataUtil.class deleted file mode 100644 index 6abaeab0088aa1f2aa7e713505c397e71e81a5c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7077 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 A5dZ)H diff --git a/libs/org/jsoup/helper/DescendableLinkedList$1.class b/libs/org/jsoup/helper/DescendableLinkedList$1.class deleted file mode 100644 index a7adb99ab62b58f0242c2c82a19914cd66be3664..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcma)%OA5k35JamrnivJMcI86El|#lXy569>7D1lf4V8=_(qU z2lf6uUjSlEefT~mgz#p%Cgo$Pn6TKhO<89$QG71-owIXk+ifKuk}yB$R2f_9{K9Qv zG9MvfW13u4)^xQfSk>H!pNLgVn4PrdW~ZdJYza|M6-w${T$75^mazU07A-*-xEj5N VZs0BtBbOe=&I7lh`yrQzf-fH1L1_R0 diff --git a/libs/org/jsoup/helper/DescendableLinkedList$DescendingIterator.class b/libs/org/jsoup/helper/DescendableLinkedList$DescendingIterator.class deleted file mode 100644 index e5b083827364c2ca2edbf39575b6784dc1a09481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1727 zcma)7T~8BH5Iwi0EL~QpfQWo3V!^f`rT7K3R1r&3Q_%$MgKrDmz+%}Y+bzNW!t0aVu<> z@KiRp1D(#70do0_f#Bpr(oHZR}`2F zeW{$TGV^t3k16#NOl~%gcBH$lumuJx&aPRjny#hJO=XwLjJ9SLmc8G4qJUAhZRxJp z%z9nYCm%BRACuZ4u@>D>S1&064L~mm%O@Mh9 zQ;epbZ~;>j_1as%WGg9yS%S4G(wY=So0Xr#1Kx;W9=Es;P>S&q(zA0Vd*w8~^|S diff --git a/libs/org/jsoup/helper/DescendableLinkedList.class b/libs/org/jsoup/helper/DescendableLinkedList.class deleted file mode 100644 index d510a544d252cc85ee0f612750ea1d4ea246daac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1452 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 gpZh+B_-}AO$3q+!`8>U48O~Aj%;rQ4}y3J zE-qg=<{SI_kFVbV>|(2l8t%tfjqxDHL&Cx{rImk9sC9co zLVaKkC1EL1S{{_gBWd4dqk=u1#N=5q%&ZFbg|qG_%EeeCG~P-#Gum-xdtYm52Sw(b zbcDx=v12iHrksh1EN0S*J@01&!&$jkMsNRuZtwPao)c-+(MN*lCe!RB6Gf)SBK213 zali6>5L$ZSTp`jlNu_gKqu+Z^XqC3uGtM7m$JM}p!3i;s6!HnH|E@)7rlz#He5C^O zl|RRQ63X(1Uh2Fsj;DGp{lpx$v5t*4u3>?&b9Kgq<@uOzMpIr1VJ*1kGy^BioQ7dD zO4=Bkgzi;)FoCi3`+PNdX@A!sY;}8=R&cow-^TiXy5K1yeo*{w_;p46Gk>;X)&xrm zo}Dw$X%%kp8N!G@VUhLrc>m2#`m|jYQ(e@uL^$9h$2C;a8)p|2!7gZ*4)N(@7Ucd_8$p? z*iV8V`~m(barTm6^h>j_yR)6z_kEt0oEC+kCayKF+;h% zxzAAPrbEeaDpFd$%s&pK>GMHCnr4&=p6qj@{CldbxLDZ$*BNTBrOi@p$+EGlwKUy? zTPrQYc9fb?IJRk?g|SRBX~GxIW!;plgj1<*&7iG&9f~7jDL!-)CAI6D+&VdAc-Vdy zjrjo&trWRY?l2V6xbW@$od;bK)O#hklbwl8!u2TZIivKb<0&nPm@Cb2Yat&*h378r zA7%yVBI>-yS%y7n4yZV@44WhAo(dr|%6He=TpFT&yS=$!%z7`)jgZfkFZG#!>vPBF zKrMNuMUq-#wI^Mi4jZ_EY6DBCGHfkgVusbfoL&va)B}b!ulf{f=|XFhqOJwAJ+Apk zngBN$+Ka}ZRQ*W3(LLWR+3!UR>&JkxgAxrU%^yvv-$aXE0ZAd<%xkv3gB_7jLXA%U zjnZcboz%K=GWAZr#dgy613un{?oTX3<=Z<&wbzx`c yabcR-Hr<|9iGB0u9H*l>PNivTWn3(*F5xoW6|CS2PLR|j==ALGCP diff --git a/libs/org/jsoup/helper/HttpConnection$Response.class b/libs/org/jsoup/helper/HttpConnection$Response.class deleted file mode 100644 index ed5c2d98905563786c800b15e6e82d085256beba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16522 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 B?*;$> diff --git a/libs/org/jsoup/helper/HttpConnection.class b/libs/org/jsoup/helper/HttpConnection.class deleted file mode 100644 index 2620217790673a3cdf1a6766a23bf2e7fece50c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9013 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 N&GL#L;$9tY`X4G01Udi! diff --git a/libs/org/jsoup/helper/Validate.class b/libs/org/jsoup/helper/Validate.class deleted file mode 100644 index 8940022bb81fe8f5cd24b542ba3332e8a4f61e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1879 zcmai!PgC1w5XPSu%a-jJLjXGgN~_Qmj6-nq2a*O#!gOGu1IbVrW(w^=c7zclON=Zh z<=!um9COJzm!#9qz^$3d*XZ|X`@E7I2_jk_Y`v@9-#)wVu0Q``U&S{9nFZ4}y+wgkWok!2`ObN22=uL+w(+>r zsvGXMUbko&Sa%w_wWGVHJcmZbJ22Y1ytMd z9(OEDpj25u)Su}!OShY~C-p<4;mymWDW`rYGko$=U@{>j=C|d!rriu6t#z~#F}LpP2E~@n;lvI@-GeJ$TJ;V;7U-s*6Or9je51Zq1o(|WK0SaHl&?4 z&u@Ki_qZRlb#lpd_2VeG;n<#T+L~@3`xGr~W&zjmm5K)i%ws{|YEWPl#{@>usNoBT zP@q35C{TUI6fij_mSH!&1AiCRxJs9}N%B+R8nG|nUhq`oui$UG`VQg^A9~Qw?~HHE z;xeBLfdd9G$WsnODA6K=myq(`^;O@a_Yd^^IFNb=WPagcb>laD6D_N{G7} z;=ZSM4{b%_3KDlCi8f5y2rC%%Y2_dyq%ju5d@Cq(6rY`!Ir1`;nN9+a6Z|Cs*U!it z!{@%tQG9V;CUFK z=9H2$_6lRuCFS;m^l&vo{)v3`EppxA$R~AukNfiz2mj|-X=P>}At8qeW(ZbdGo0a4 yM7?-M3_|xQxfyGIDTIQ_x}vKeMc)ZU=j3{DWtCIrkFTs9)0guBpt2jj*Yv-@Y)PU3 diff --git a/libs/org/jsoup/helper/W3CDom$W3CBuilder.class b/libs/org/jsoup/helper/W3CDom$W3CBuilder.class deleted file mode 100644 index e1461da582301825de46eba16b4ef8e0de2b6f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2803 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 diff --git a/libs/org/jsoup/nodes/Attribute.class b/libs/org/jsoup/nodes/Attribute.class deleted file mode 100644 index 8ff6f1c739a95d9092f3e50d08b4bfca6f76d3e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5245 zcma)A33wc38Ga|(-I;7B>2}ilg4WWe*_2RFR8o*OO|_D=+O4fg5twWy*=c8ImYLa> zA|jrkhyq@;c#BlDDrZuuTppl!;CzwiC-**yN_ z{SN|Ik0;aU#|>$`9&ZqGV;Y^fNyyDDSb#SQd6SAar=j5n6>rh-)-=+%MaZEv4-d=9 ztwP==%eQNIM;h2$*Tn?>3LHnNmz2<(i+cDj-?i}~su^t7@`>cZs zjG2y-`%R~8DM)RwT|2x$!J3Xnw#J>cyA&jPy%FA=-EX_rwsLXU@^_lU4tI=xFK;@# zOy8DuyqO3KHUTc__x!Q$y@6LQb-TPDbXVaMXll#~FA}VCJJvQT<#`aF&zk|IVA3dH zS7eb!-uQL(Ox!ccZ}yxK8deC4j)J6_&zFk|7Bz5gD%;M8<@c!gfr7T}<*-x^b5bjQS>zF|xA?a&WK6$^v7n?n5wA^sjRGB?uTC-OU6|6nwJ9I|qMJd2s$@`WW zT3dXt*yrZycbd7e5m--ysXdJf>jS2jT`Q7T37Z}-V!zL}gUx1WRxi+qjCp32l4SevUMnB=$SuX2S`6`#f);bK zl<2&I85E)nC+Mvd>svwDVF(m1l6l8-nd-}!rzcBjg*>b4oZ2hbws~Q$Tq=2fXpQt; zk+({r?YYeUsYzc&m9Fy8rYWgBX;Yno>Md^K42h2=^M3=X<^DU5RH zjj}n>G&Nta^82KLsClngGV^q#I%4G=Q!;^e3jRs4@rx#Ie%H8r_gnbg&C;ryMR zR+ITWZ6-{~(1PWZEWev=H+C%j6805KA+4le!flM{3HqT7a(*Xp&dmzFe(wM$ml@EB zZ5%gK##(lUR(AqyGRe&n-Axazn_O zZP)Y<<}A~fBI)R;|4NM~R$bsG#~SDC!um+>Eco7m%21IwwN5E2tl)QdKbkOrZD__~ z>8bo-(IhjZ^5hudb1oF=-lV&@@_63N=d#WTDA{9Z>N(_ksdNRFVkKV4lhY$%7{m})!YRr*hxjJyoA}N~8!PYTQ_hl| z_ab#CUz#9FQkBiM6@hxh5DQfBB3!~9K`xdy@tG0Sb%<+V+bUqz6YSZTjdLpU=0|s` z05dT_MTS5uxgM4}9oBg>!r~Z-FAq_HI82x3~NN{h9O0%5|9*s zaYxCVz~%5``4?5d0xQH%#^P}-IfVI<&z8z^>1|LGN04YfN>TNRUaAAWBKE{w`8taQ z7s)M&zTTK6t{%s-!`}cHaZ$~n5 zH2Vk^97eMFX!c<&7!cu)Vy-;8_`hP~>?26a;!)w^i5fAe+>4yhdIW8_f+lPgDY^5Am?EVu4LPil;a0z4BO^foWCwY*eZ{4tdclx z$egyM5aE(-VybLkwqZ#v!ja=|L_2O`&fi?;_;oRWcJ|bl;A*N<0PjYwN&qkLBLo;1+< zYFb;Xf+(DNT{x35)K~ISg5p+F%w_a$)Q8WZIDy*I$w)H&vL_SOQpIs8aYO>@an!ZR z6XKxuJu_ZjcQVbBMrcflYh%q%&>Zerss1Y#^O&oKKoDE+Cy_ zJd4yYE+lO?Hj>UYHj&OVdP(OSn@JZKeWVMGEu@Q#XOk{Ao xSSf8*shgOsOq%Ps*TihUzVdt>3Vbf+{wRCa7!zUu-^FWE^2fbV{O!U;{|CYF*>L~> diff --git a/libs/org/jsoup/nodes/Attributes$1.class b/libs/org/jsoup/nodes/Attributes$1.class deleted file mode 100644 index 955c55b1894e586e18a62286cd99b3ffd469f17d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 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 Avj6}9 diff --git a/libs/org/jsoup/nodes/Attributes.class b/libs/org/jsoup/nodes/Attributes.class deleted file mode 100644 index 1017ba1e549025450dff4a527873d1cf1a0642d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6208 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 diff --git a/libs/org/jsoup/nodes/BooleanAttribute.class b/libs/org/jsoup/nodes/BooleanAttribute.class deleted file mode 100644 index 709def9f505b1dba6f7925516fd0b2698f1bb241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 509 zcmah_yH3ME5S(>P5`sgB!9jFDLjnkkItcNQs4SYG6m*wx3Kz^B@&k!~qM<^f-~;$5 z#GVsTI7nQvtC^dfeSCd?d;&PeW*vS5F4k+-=#flN&LLneiht7V%Id%HlccX7?&3>_#S;gwxdIPod`eG`uh- zmO`Ir>^#ad*(X#UFXMTHi}igyJsP(Z4sn1C34F^6`7L)w{Udd9?8|H8k} z#MHzGKfsSNuG5YMTSBtEIOhHLqzR7EWQ=!V2;NW5>u&3CryU7+AHihEamgL?#RC zcxqt-1q;tG!wxM?+qQw{7K+%kZ~>Dn#DCy&9cajqOXJCs{)%|jeoC2qNo6^$Q zl!~*v$0oCL6Ft%`cV0P2=en~UzLGCTf-46{;L5*}^)!))gY|$@^x*}+9vwWFdBab} z^(q_)YI{uA=_2cO$Eyg~|CQ))S_V4(78viY=8txm<`+N0e+DbY37q7f;w^?a`guNu zQLd+H*`;3}_Y>Kx-ypJI5lhAAn@D_Vd7t4r+=o)SrbM#!sHPIGeQ6^ zVkScP$dcnkO505&KM`ntf~SG`l-a~!wh4<{YKY6L!;&w+V8k@nG|Qi1L6^wpGFe@r zb+(l;+eYnVOw;FbtBy3iX33j5F^5b`s%(c(fp*PD9HwhakvRg(&PK|L4lGA9f)x?0 ozI{&b*(I3WfTS|v5&uWDnjl0){Lb>8de zYNaYvt<(?D4^{Q;-Ej^+Q`MGkcV}kb%$s?4fB*BxUjXjndkbaUEg_401$L3^%EB{Cy4```&yq+9% zrSF(?Y|QCXXDqPN@%)p<>#-M%8ZPgT8!f5j0e37a*XLfKa4g5_N8cd}6LKJj1YKNP zPnRKJpD6wE)Eg)R!{hj!;F|j*$cGt_w{hFuVlY~ZGrh0fgT0=P-)H9k%HZJ zUFGi#d-&1>zQAzpj;5UstZ7krijUBWEmft6l0(Ncep~^noG*Yqg1p79w;c5YG8&C1f zM#mhU+c+?u1rxhC4QJF=zzb@9+S8idI)SAbtuQmQq~;rSOwmvY*HYu&PP|n2%5=7g zm&2sQ_@tTzR%azkH(ucK^otz}g|D+5jg-q7-uYix6M>ZyiOiV8uB#pG7^=m!Y@ZJ(_H)7i*T;_?lu^i?wyDQvfh`xfWagIA&1*5XnxnHBG1aLNf#pMd*?ctkD(0@Gd|PF zA6Su*N~QKYEjk79*S)(iD{LT zYr>+K#Jo653f39qqoC_5c*HQ%2!rD=Fzg_3c)Q1-9dK^@JFeO5*(4^6w>&UU8P@Bb z-!64}UU*#M-fO#8+V!lkYx5vG9wIyNs4z&UU6(=0HlNmC?imc_SChv`oS1GXfNbRQ z|KTq05LAZQy2I_~VYg-bFU*!pf0QV0;|;@ZuHG?E%#v&JcF72QDnlhdIZ(asS*F`G zeMcl1W|6tsrDXc=8K|;VhdaSG!_prB9ORqSrQpaR<|)Hzb2A8iiX`QPB3ZTEq4Tqm z(0e@WRwqTiO^s3wFZ3;Y-w~CW{@K@}D2s*#F;$BiHn7Q1oNNd*WU!^-7H(^phOS{A zI?dc=y#-_ij~Q0}F)%~iay?Es7jpR#?u}N*wgTd^HCoMRj4LB%zxq24f&8xh4M43- z&qkxSCe_k{1VAV80Om5HIHZx0!V<26qL6f#PO;QJ*ayTeAiX1rAx(Qi=va^JGq^sq z-$X3(P<6TR5%CMi!ag=;zf6C$ffa7xW~8U8l9k9MW6$>2{@-{s98{Cg=bF diff --git a/libs/org/jsoup/nodes/Document$OutputSettings.class b/libs/org/jsoup/nodes/Document$OutputSettings.class deleted file mode 100644 index c88b29792e2881395a00c5ff0eed28a5a5fbaed5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3544 zcmb7HO>`4g6#m{M%`}rq+q8fb5UdT5PD%qP2$r8>X|+;Xq@@V>H%*6jYBCdNCj9~N zxOA;6j|-Qm#|0`aJ$jC^#;sf3y49r{kN3??Gea^#x_N(df4+O)ckfFc{rlt30FK}z z3A-?nL=PsD$ly{d-jHw^Q+zYcS6BFIh7VWy@FpLwC9xOR`Ray5!&?&G#yi~5yCPH( zvm%NTx-iG}H7;>eA_uhU!93qCh|onWGPF%rol4c2(i}%O=4}Rf%rG=-xTM;)W{Y^A zAu+XTIO+<6q}fHaqFprSG!bRmkJR=I`^QadzOZPU)k?u23A-?2IJ%>2b~X?jWDtuB zs%2{q!>;i~bxAE4x>@kg3d7zv5^M91MvNjEvlx1sO8X+Dl&V-1$Lb|ZH^@G_PTtI_ zQ_>BM;?j*d&2Y|@&8quxi~_U$zz#QHKW`SRWfIRmo}R3i3UZY=r5n0)h9Q>gn_-9# z6H12maq=}$EzfG!v^ra&lg@FosFr3_OXqw4Fzzhqlh=;-nMx;?(I#^E^0-Gj-{Fm)r&M`R;{8o zs`J81ZzgzvGgC$Zhh-S(mGK;U8CtGPj~+T9!jw_L2QsqQFT=uV83%AsMh<;46h7q9 zFT=)wj6;0L;-m;iMiomkM)A6cWh%b<*0$-pu01eh-7;}wXdW)LzCi3UwIjW()#Bul ztjJi!Ee_^o8MpBvNAfB|N1){;h@mSua{YNtXW%LE`UDnnhoQG#C!%RkpPN-}O8!pQ zZA9m$db?>_6Ka`+1|rM3nI^w%LtC!(`}l%WE-`cmuokpZMY9SsYDu3{9deM+?P;q@ zi#U}AHQ}9stoH(KUK4!^W0_vC%w?XbLAP}qF51Tl=yx9qXGtwpwaJ?dC&MP1cBhD} zQDhCsHpS>Y&d{sPup1%-PF?yQY0y_A^n|e_b81AkObHr z#90+7wuEhL8T;4@vTPN7>=p*tZ5*TTFOaP4dBlr2Mmt7v9QV-_Xy#~I$Z_l*Ed+4m z34X{v2`RUPlwb0d&yuu2(xQ^*K?Ld&KW3kzg?;9l*x`x!CP;x0^tzt2IN=)$BS{3N zJS1O6BB5sBD_`)Dv~wg0CGV#&Fw=$@A^M6CeT_8xCWNZJhN|7YSDp_lY~S#(Z#bpo z>4w(PcC{hQACP4CLk3edgDEmJNQQt@IPDt@huIq7^TOPS4D%4qL@1~0l^-@yKIm?(M+VW5YlH|8_y!kB>Ne<^4knH9h4+8Oc^E)B=qY08% zsKPiBB@&5LkL1rtBuX?AsR7AfgyiogNQQkRd7O{PNva;nKaoiC81a=SeWG>k{sLnB zF5(+v?&^rkf*rlzii#6Z?t(I6^(A;~_HRcagsM z6S}VTKftzM@?O)~zK$JN`8u|aXEv~tN;-d!3;?Z2p_B0O&ajt?7eWfHLK{+oOiHH?uK{}bgko>l@eN-cDu+3&kuF~2a7oS{{R30 diff --git a/libs/org/jsoup/nodes/Document$QuirksMode.class b/libs/org/jsoup/nodes/Document$QuirksMode.class deleted file mode 100644 index 1aebdf8577504470896cdde0edc795166fba5adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156 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 J`22?O{{xr1B(eYi diff --git a/libs/org/jsoup/nodes/DocumentType.class b/libs/org/jsoup/nodes/DocumentType.class deleted file mode 100644 index c4652bd1296588a9119c36d213ceb0fa87c64067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2148 zcmbVOTUQ%Z6#h(tfBpsF79IvMj1Lst zRWTKW2Op}KRxzU@8AKGzefS6~Qvb1vdqLdCs*03~HK|%xu_0BTsMri5jZYOk5b$O1 zZ>t z%cf;ID*_Lqy)gezGrz~uQneDZ4rWZt$Tq75qmkDO6>79ht*BS_^oA+#ZKcmCo3_AY zrq(!2JhE%edctD7omi_Cn^nVd@<(-pP5CUnN({B$EL6;5x+}Ut9O=%b-a~jbAUaDS`2x!d~Ffr)1QfvVcencv-8!{JC>{kI{sVkp0l{wRt#Yl-!6jHm$}*kH{U+h=-IcVy_9T0uh$KWAKJnzIO+Y$PM7)mx%}DY zL^Sm#oGYg+l#NQ=XtZCuT}LjtV%n>G0>2X&JN0|{6~Ppr(qX>EUheTFj6h(NH;;QC z>$>}CAMd&c;HU3pT;cBoBYtFrpXb%sxbHbcO!LN1;Mysk7$$w&J&TyK}Nz*G8rHRTx( z4`j-KtBSZOLM?MA#T??)$WHztsE_9{3s!$e-!JS*^FK%M2}WXCz!m!A+JzH@_Majc z*ZQTzhG}_>i*ap$cV160*fPl2#~6!iL$1N!G7L?hAj~ic=vp<`8tAshhgPK1DQSzi zz{;+%&N;R^j|EnJ2RE=mX&Z|uA%QAx;wS!X{TWMcr?FNyolcMGFX>^2j7Yd-9y8{a zOXgCChcrDT58^a^i@-Zwu%ZJiIefXu~@BI6&0wIqV<#dRji7(_|e*SeA|W{NDT=lK^^}|eel(1 zXA~VD9DVh{pX7KKXsI$VlkD!@v-h5R_K;tHzI_Lf$J#Jr$g0=0f&Iwom@yDRUdMR@ z7ci?97uD;Mfy=lO#Z?2>P%se2Tol(8=7x@&I&SH>%`p5**hyiU%{s&Q;-+{da<*`) zx#hsKoa%hjvMbUnFhqiy8*$jnnuAV_+r1 z2Ewu#jAgg!newis+T&dfr_}{e{|k<3yFOjOk_>8Yg<~E?j)NHEIDj}u0(Te={eKbL z)HoJ!mm%^0ez%B@dmQ&s;&_0E9E(`eQRaArB134y)A5+&37&E+V}&SBay$d6GCm+( zGS3j}8RyZ)rZfYFi5}c1oy;Jov{qw zR3C8Loqeir3sF#65UX{=H8>TB~A-$`9 zLwLUQax0=rUBr75^x{;fDuc49)3xuCtwW7C$(K!GlZ_AV?zbaqAx*5}xAJF_43|3fGiQ{Dq;BqP$dNTVl# zL$o_ivm!$6$Vg`DGg#)_XM{3epnasR5DwEjLO^IQaD?V#6az*ufnzkPnMz4!!*MFv zN%)&EVcJ`t`ibxs4ov+(xSaWfQ1&Z^KA=e9$QI@(9BGGJ(BC7QZ6W#&ql6i5!5H1s z0^dSH9s7#C@32?RM)$QavesjkfkDjb&@~5Ka}n1XIHtYCDb2&Q=Hs3gU`cCYO?%yD zKZ_x7L~#NqspV6crDv?&{Q6Eu>qz3X>KN-dgR|5NLu#kDn-o{_u^x$zJa5|tCOexu g$=FUZ)=j1%O~*sXV2Z{tiF*!5X=YHF7>)G%3kzp+>Hq)$ diff --git a/libs/org/jsoup/nodes/Element.class b/libs/org/jsoup/nodes/Element.class deleted file mode 100644 index 438ca7b80c32413ec887c6cc83104a77468ddc9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23050 zcmbt+34B!5_5Zo|y<{en7f1pDLRi8cG9fIoXh38UG?)Z1AO+VU8A2e;#F+_#T9=B} zy4Jc-(5iLAx>Vc}D6U=Hm)2?*ZM7~{TlZS6ZMFQr=iWPS-ee{T{D1iI-S_Uh_iXo^ zbI&>VO`iGR&mJM7sg^H~28yl#E_(trUhEBspNV}w@lb$r#KYYENI*O)9`lRG`OVMy z;TL@QCC~enpZ?7QpWvxa^4(K>d79rn;}g&N#B%{E(Quw;U@!3HMZfrUK>S9$#P5E~ zJuma!D?af%p7{HG@dxq80F4x{^4)9s;!onwe0kj`-rycgDG`6+0T27cn*s5bc-tr5 z35dUncNy4we0iTK`WxT<-7h|1(m&*fkNo0ee)xoEf65ny=rf-P^6P)_<#WFLlP_Nc zs8W0x5dRWiG2YL(5B!c7|KZDj`SLYizTvn3e%;gd2z$B2jh(n2e3zU1&F zm&f@0(jSm{GQd6gKI!;n0pIrHm;IT+Kl){%PZsfWaX=1`1Nl@@--wk2x zuYfCA%5R7ArOYRX2dD+OiNT zJ1Ib$xt$!KE!<8G(COSB5}-5XjDVaeXZhrzK6#j5)&%GrIhzTYDXL(1qMC4A4c4XHkGI;r6HiT_$UJ(h{FMCO}u{hkBoE2+&nnSGmk5mj`IOJT^er z$VR@b;NdIzavau0uFAvWJj0LQ;>Xo2%{6{`ykDLG{gfy2o0FhV@??H}3O|MdR3+E) zU6Wrna~tLX>-esPnOg6YtpT|~ZVb?F@u^?7<;zVn0+p6gmTEg5mBPwX`9;hx<2*It z7bkGr!I#aviXtGk%hQ;QE!?-2A5Z7IGyL*Q2KQ~OnLLXJoXzjf$&=^G@9^VUetDi> zZu86YdH4l<`7RVoUdVUfI$mDP%Jvc_un~=ym+;g}`0i33av5JP=gar`as^+0 zz?Uoi@+v`2Z6p$oEo=+L!?DRLLM^ie1)6wZ zV|!a`LQrYlhS28FsZ+vHfdCA?+wvQQ!sjzusqcTQ`hH8EGvQ5D%?>A7v8NXz8L zM65N^GTSpQ5^WC0C(lpd#oCTUI6iygaf0lH=oQqzt~C;F=-9M299t1u+lHRvx@c3V z?YK~^m7h(gomk%reo8Z-E@}&J3P%#4(YH1f53h{1G6cnmmm2U2W(+lOV)1142uzMq&uOp2)?0NBIg`C8)(+M-PxvC0(_*9elW z&5$Z{Dd>nSXbujsN`lKW71s1E447Ul&XViVpK%+wx#Q#`)BBOHT;<%ina!;$8NdhMrXs*qYgFSvBE!}qtx!X6O) zS|jlE2?bDT#h_RtHww?}k%TdG#D)9`TAB%;y zn)S}(_o_qC;NvrNNAU&$dS<8Sn-k1Fo)u$~XNHR}Q#TZR9)C;^GUypcZ^9|iYi67U zyrfwHwTu9YG&@*!NbWB~J*aXjD^vgBaUKsTmKyZj_!|S5# zQ*%P=u$`j~Z)#6K|$KgaB{~O^GO8`n8hstqBM`+vtK0IHqt6a`dUlfz7*r zymf6GHhjY~dic?T4V7{AfTAt zn1NcWePKz`Pjmxbj5sF)M80yMwGmcPL31-L&QLPjqhm^)y?cC$0iU4=9vLwRoI)tp zv>u!DibdegYZnY-4tiN1Pnol*CPN>Rcn_Q;4K6!fg)QME>+uC!5%@t*Q(X(T)?%wE zPIX|63LoLb)f(%#Wl-7xH&_CD8#z1}k^OaJA{0wNHvkL6mc_#BTCri3Wglz;i}_ic zs7GN;bm_IqOt+e|SqCXSkfks+M6u{&dLbo6e7*vgB!5&da~4IK6}x&yW5+th@VH)P zER04HAq3Yfq?}Em1glJMRMqnkHTvit1(hX)?_FL9hE${v)rFt%dYQCDpm8f`-Lhy) zQ@CC28=zRdhfho6P#I%gI38cIK7@#5M0y;Pxm?3DXCD;{Bch6F07Ek0FFLg&)CLDr z>UotCrS_fyZG!q?Sk{3{PmAc+gFUa4BGzwa_9%|DeKV6QuS}94U3_eT^V`~trGt?i z6-UCcMw2AT_*#wuGju=cgjMR1Fi{dx54~43L}QymZLRTeb2|B1ym*G+;TdYDWY7lQ zs`ahN*xEx);o5Zzuqn*w%S~oM#NdkI-Vu&$4yOQO^)i8J{G2PS55+YLHpg<=_Dwem z!zN~&FL$x$;wXwiC39T%Vvurr+R+&1kT)ly-wilEL)3WN-{buC_%Z1{SrQX=?BkL< zkupZi>|tD`SG^d4*HR-KK__z&0L6xo%F%m**&6^qglfEdNv3Aa<}}h~aU`8TJ9=#B zq2^{YD?b+A6x|$7J|&_pEp5ps3vN}bR*M~6erK6y2^o24Cz_KpMy=FI@h zus9QUQmbn-wDQO(5-jZWW7DCiB0^3xToG@wKq@Gc^Pc8<$y^a?1=;>YRBtWVy2Hk~ zq={(h+6@Sil!!zW`s`5_^9n#9-u1e!ft(z9SuT{mqYb3xG_^$|5Nmoquh&9g(^T}%+c^!R@CxrbO%DA>+~LTZ zM;!U6xCK!~tx9jp+oSPTjz-Gi0?MQ7%GX9aBF%9OeM~;iT>RXTzmUIl=p*`^SNJnW zj1r?AF$NdBz1}B(<;W-GlT6lAjyO!*&X=D!qK5Bka3`MzED1MpJD8SyH^;E z|H7(|al{PytRt>h2<3B*IA2_V{%W6m-jOfJ7y13KvkA^PI=Hj)x#f=hjeH3L6eHn4 zYa)sDlhmeGF|K(cDmN+g+7=yglsMWaf9uGXvDDDaR~-2}`Flqk4l2YFaSW^MbB_E2 zbMQy{+$Ud!2ve(@)IN@MLr4V2syxBM)hAzb6|)slG`E0%BEbV!g@|;OJc#p3W%;1w^G9C7Ezk|BQnImEvP) zCcMiy+&*)yJ ztL5aN-DmDt#@N|U6$nYk^*s?t5GRkL*z9-*zPq} zY|&yi2LK<@$Bz7fAJ5@!`$L{}t_lj8_y7-42ZtW-&|e*~k{$d<^5f(dWom_yjp62_ z5u73h_sLHj`KkO&5c%Xk9Qip%6E|}_^G|U(Z&sH$@(Xbzhs4MSai$S+#5Be@jlKXT z`mZCuWGYnP^A>&S$glYE-(m;Ip5us_@;{FJFL!;-mv7{LpGD}l1aEAUafm4Jznn7} zeGr5tEz7ZN7Rd}Cuxy~Ra;#iO+>D(}+$MJMB?mh&-eN<>-d)3YhwQ4ETKUdYM3f>Z943Zd2Gu(V0 z?x3F<;MTyAvBuRAgpJ8y*N=Kdj6)cv#z0epYfV3RD^7t(_Ciib-Ws6soC2$6fMLc( zrBcq4)ZEk&1;{Gwh-`{Bx2{vC*1DuTIun2=e^;gCY$-rvI9ZI(TH;G7Nt&NY%N3L1 zoH^tElbaREO6j zO*<4xl(Rxd_|1Un+H{_$vy)$q--mq*2(cn z(y}#U5X;mz6Ch4KFOG#;xE>*BX%=nINXyMOkTuy(5pI-WD9G%-zPtju*wNI6GX)eC z+QN|*u6ktum_PybB=yP4N;kjb5qen)rSV$&HZ#MNh*AH~6XnlEMcjo6-smNjqd0tbLNF3SnLvS+c|OnOs=VvEKSl zcPO(nbR?-{-U3Q;R>}ut`)0#qJZaIf(m0*vsufRrsVLplu8J?cC}HMAh%8%~%d@;I z*2ki!@rOT(fMoeQ3ncayqq0be&E>dO)C8h21;U@uF&fs#!IrjaeH0%RDgQo@4+R&l z55;QZ-lB98r$>L2+Q#+Kq2253-nm)607%aD@Mug=ZH($Go=^l|@wn9K8g@=xf0mUd zU#7MZ<;ifQ2?FwJsezf?T$R9-?}PKs4aN0_G%l+b^r(PwLj@_vgn&_%F}do?JA*2X z*0w}&qO6tP-=t5lfQJvS6A7I2!TjJYwSmn~ex>9?fd)l9K!LG0D+jtL)AU?%rF@d! z=6VR{)EYyGCM+sw<+JQ{i0k6&kStfHX~3xuuLMm)P;h{-$Lcvy+UkRwA!y3M<0yi5 zrkA++L$m`X7F6az!n*Vh7YJyk&N3hw1}TkJowI2a4W#k-N?77Q6ijh9loJTFEhM-S zitGD$Y9@WF5FeLW9|Shsr51Fviae#$}X)9-@Ag!K!_fv$~6NyU3Tq7f>?~p#qw&@RaM( zE}niao_+?8pnuTk2KqF#OoPAj0TP|$-;I0CN3QBWRKaxg7z0yq1r|LlkG|&5?_vHI zW_}&8Db9n%d3z{O34!KAoRuj$`YC?uAkTX0M-2+zAU((Bu@Dq}42S}}erX_2R?kE^ z%vlPYW^0v)tQ?muq;O_(H@2L+x``#^neTV!qaJGJPX~c4)&P(f6!+_-{@p3q;DHcu zAt0SJ5RL)cyzF^c_AV-1<&lV9@dWv(Ljln%p65y-T=;L z(t^V}sVD>Vd6>A(13KRYo$rFq2k8CGC8Un@HA5K+I;prj&sTeRHc}J3_)=I@#I=1x zqF4F@9;1QX;q1(W10r&T&y}54s{Z?^1okqhj@4>#Fa<{I)J^24n_)M%C~#V*`WsgL z#;$hgTD#n#E&p|L>qT6x( z36;))m|DaXa|kP%{W1i(fEc* zkJG>%V099Z@1+TnR_)sV8jCsDMHMVyOF6-zFju0dsfeDTYI>Gt&~r48o~MQMg3Ea| z6^kNKtOQzTXf2}IVt^P3N=uki(5ia|De4D{A&>yOotx1z^+z!ET{!9Ni|9&2bfrr) zmPu)Zm*BUc5pUBtc>XH*{#o$CHSqlGz1habc?dqj)stCba2mmW;+|5lpjCS)?#llE z39mAQV+oA3vl0GJ5dH-S{1Sx!3xt0K!vEbT;bj?wmx*C6;lpu<;})YYHAee#gOz(| zQp%K+KNUqDy~}m=E?1Omw=719(FV?`5F`s`BG|yz*-6z<=gGW$LCs;%RYtqHlcso_ zlTs>CMz$D1c_6F+;D?A&Gy%YQjkE<%bkR?Q@e~8C;L|OGekl}_(GO7QE&E{_zuF2m zcG6T2BIO=L6%bX!FHQCUAK(HX-~t~j#sMU2<(uG*^}fEUc-kI11dL6eTXr4gl?}H~ zIb}}Swd9lyznOgYF0!rS8GC3ZYcIU}tQxx%|8>%#Ag7ZKdyHyoaw^M8bCP6f9UYBD zCY)g9in)|8j=+y%=23-MK-0uRI#L{oU*IfKq|VhuxTMw_^9NyY0OLVyJ}nRv;1VqC z-({jgOoTBV37J-kAb!)trl)1eRC**W658Cj!?= zz;*Hg&A7@EXDYtEce>I;&;*yD2`)jU83b{UCJ1G7BcQ`UAgef{t}a@bxxtDX z6dG+Eo`}n!5nP7P2I|Nxpzi1a6z_@bv{2U125M0jP@O%1(yIYb*{NEb1=Qm`fJ#z@ z0~kZqVN4}t#epQEhoex-NLjjyQN`2nDbFZ?I)g|Cl7de!vN3mb7K&c!fubaHIMUak z#8`yHtlsxQv1>bN$@MgJA031Epsu*SlNxkyLnkfW&E0q`?V@FMXqOisyN4R<;jS>J zU$C&clUCrNVHMsDd4dYKd7M`6AU`&&rMrVx@o}BBO1J?;@1HcT>+;RxKQ$Z#NU zVU@R1po;ggVTcOfP<~&V>v$v-B)&#W{SEx_ei{NBtB`^gN=dcSqGf0srL7p?Jb58} z90$c5;;l5S457nyXo!4zl30M)Jmp>VI~^o0bQSa##NuaD&DZx zSgKnP73jOY)WlwJ;BJ*TY92;FxkwgKo-C#!Ie-Ssfm9|-@Po@iR3nFYgg?hnTtq?8 ziC~rnLrDFwL#HU#?=;1WT#BzV6i@GkVy5u=B&E$gQ#uNijs~S;KERxYK9c%CemyVf-l$m?KT7V1;uL_Oj_W`3$@Kp+2`>Pf+vAvIns#d!U088#=L zArZw1ajcsntTbXQ1q;paZQ)K@2M5x^x#4=S)|y%y70SpHK<$=G7i@RI zt%K|!xCn!fri0glyA@9iV8|zB zgS=TmJ}n#MNBV?(vZ48uY>>Ao$Xl~Pe!5S{Ap?1BHpr(d$Y*4O{Boa=n+#-pq?NgX zXDZ0w&IbAQJ|V9|@q|~f*`@g==my6b)!1{-YS=}iYwUe=&gx`zb}oV;7%)ddrFIv6 z=h4dGq)s|-H|RnE7isU=fXBskZOR|u&kB4DH}@e0lhKp)^Du5a)#dlCDCi?e|%=>c36^5kr#JsY@7 z7~G}Vz?Js_4qvrpF2!XG?(%HlDtiFOE6dcK>QZ+#bc6TWAYAxa^}DFNp}Qht=VC>~ z@ecG5TKWAR)X%btsLqY7`OEp|E)<;IbOBI}Ey-5md^DPuGp|Ng9V* zPSRN7**Ly}IsQR5j*skvmk#2RrES4q;u$?@hWT?;GS)a1Y@pY`!E9g6sr(PSXa|D3ojT)MmkLBw zWy9J4o;Fgcbp{Qy&h!X&tXVrh*0V#UQ3AD>B*x{y#~4u`Qb{I`8M^4&3>0e1wk`&W zOQ^uQ)B`?QAMzvJIZc6={4u0q=nep9pSf7)*WQBsjI@G$u3CSnEovw63Bl*40#FT|*13AJQUghoX@au}UcD zR@AF(8jetr%c-o=i(QpoY{U}aAD9@r+cAbmjfNzCR3ChRuHQp9?7*=Fd-zqm_y+5H z;~x5PiYDdPt?Qs(*HeG%1{z}hm_}JQDLQnjGFo8*SQ@P;Vlx`9s%rd4i178O!M?^U z$_Pk}4>XH!!r{yg;)w0WofHTb-^^5`FzeO1l?GY2K_a_6t206c$&7J?;nL6FrW!n_ zqvge)S@{Giy-M6wl@NCw7zW;3cH+PZNy!sf05rO9hpGMEWu?v&HRpFyKKcr+yQ$3j zDNVO_yL1$y*v7#+o5xIbUV=;-d?(8%2y2zJM}R>aDt;@<3|y^zfNtxeEY(VlZ!dC; zeK6vO!1u#Y`bRyI9^tO;2vfBjgsLTL0q^Pf;?_vuQMBwym%94NNuW9~Ivh9pz^K0J zae{shtb%?vU{Bw*lXC34cF_>@;~=RB{R6rG_8qE!|6?A}RHIH!){|J4r=X}$(?shT zDC)B`&3caJSkKdZ>jgU6dXbh`zoB~TCB*_O?L<_am|TnI)?aCj^&XvQy|4J=AZHpB z{#@}La9W3OnU%w)MuaivVJptTo-#vhGlsg>aOy|dNIMw8UqqV)OdV1e-`PobAzMq) zrh;|rGlf(8T=$Tgf4>81apHOwB&$sQKDrya_tQ?g2X1#a9|GLlMfc$x<%01gQ~ zwIJc{Biju`G3fl=RAQ>Je1aunl zrMSCHTyDhq1kmDuhE~8HfD~u`%)dSwhU;5`#b0t0JltIn7M|~En8X_L$jlsTW^PGt zNzP4FR%(~zPOI?+OMRWxsVrh!E)xBBJVv2PX?7U}>|r#*9!}-ijm zZ9&GBeUQP5)dLxagN!3U#ypTQA7m`_sMx`hag|HPHAWiMY0}s$aYWva<-!E*qWm63 zq)Lc3@?^UKv@M0+EyEffOXKZEs$ zV2K@cw7r>@+gqu{KAq06&!F?|Z`0-WIdqMEt`dU&7;L*MgzYB6Alfc=nu6SRajoEj zFo_=}1w*eH!JO^kqrmX7lQx16$Z5Izawjd)FCnw(cnSG%X<2{kVc$&UsfQbBC_m`h zE%t20O0FbdNJ+B00Mwbhy^RLh=hGzn0&2D|q>c9X=q&qU52I(hjGpZ>dbZ2x*@jUe zX1Z#;7RtuzHs0Nj5nI2A<@~i`u>gvJW0!Ti$j5ixmHKM(+t*Nmz1^d6$x}+d8_r4o z!Hsd=ZNSFC%y=yk@4jE++4q6$H@o(~pHcvAMAt&QucL9cE|zh?IvnTd$&Xu-m;v2z z&zvS*Y^~vx51DRV#TNCF*NilR+YlYW%xqmf%Pcu0&%*E{TfTOtc)(-rTd*68Y*sup>c5lKc_N? zQXigm(I3HBce(w-BRBH_Tj6~EO_rJO75b~)CgbZb<~&X4n2aA%o5@oQm$|G1uk|)N zSIZ5v@q_Gav;TCUv$Nv<^MTFA&%(3ee*HjaXT|--fz7tFihM|KlZ~Di&gZ{LU+)pX#~JMkd;B=*cV(cVXcXggZ`6WeK}_#vuZEpnI~frFb3Xh)-MLpv621nqdV z?Px2|#?V%xO`xqpyBTdY+AV0OpgkS!G_+@;osM=J+PP>iKsyiZg=iO`y$J1*XfHv# d80}?fk4Ae1+B&pXpIP%k}goF&=F>{e^L@JE~h z2_ZoJ06q#aYf(@oDpj&~-Wz$|c;4*KU*9eO?BPiZYgli>N7N*A&(e;M`<86@c;I7` zA&JNDWRcDf`B|*ZEMDZgJd2f{iaZ{wLKc$1KpQcbbCZjL!8tu(Xgp6dsbukj!R_@= z7`y?MFszKE5=Z6Ri7>DEB%@4wq*I=qa3d}MlXS#;hKHK~q+(xMmF3HSd1`B@&rqeA&ZU|iiej#(KDK;33b2DXKohM1kI@aViylMg z`ZfXj=+YN7c~VWDRFfx{-Qqol;6N#11{u$Dku!w<)Q%?$k&+|Pb>$4!)Bh`9@pS15 ztDp0%w7vSh{^{r@3S?J}=c$wo-J2Hp+DxV5S+zl0saqCr!Y#Tj4Z1xnjI50o5nn<; zahX^Kmk`kV3U=|M^%>45`?z1=dB-2%y{c%PXsx0j;gHTG_bngB|F4}}0+#v1|War--mYwX4{E+4&99OSc99 diff --git a/libs/org/jsoup/nodes/Entities$CoreCharset.class b/libs/org/jsoup/nodes/Entities$CoreCharset.class deleted file mode 100644 index fe0c9b12e94985042cf83808855b3d10bc0af8c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1488 zcma)5Yg5xe6g}HEO&U_b3dl=DtlAc_AU;qKTPtX_qaPwDIDXj10Kt%Ik}~>J{1*r_ z=;-M9MQ23)OOAKbVvCQNwllkP@1DK)oO3sOKi_=>Fo8QNBuvC;Ij3S0=Vc7YxTxYV zE{SDI!DSU!Ff9->3a*M^Rs`3?l2gzn3J|PUL7$8~gTy_a(m*QOc5Reyy+S>d)_=EhS7Ik}iG zEzIc*rysRiB)ZA%s%V=|rCYufDG)D)j*{h=cdHv^)4k8jHf7|X+C8FmB~@DIn>=fC zXEm$)uH~#wr&}eJC{+w@FLKusW$U#g4&R^_iNEVIL}x6=@@E-({?WFWUSx>)YZj@D z>DH>l{i;iq!YOeOEx)`Q6jr%mn4XuM93N*0y`V*zG3Phv7oA z-N6f<1fC$<9Wm2BJBb&#T;~5p_4$tdmGDlaHRyUEh0P`D=fG_WLa7#_5AQ zOdoF~*C!kRXeZ&pPTGOae&IGDqKIJ-N5L>e(FpD0r*0#(i|{8zwkTpaMr$-U`%L&@ z9IxZgBNSxSgp_%U=qE@5A3A^^p^R2T;RKSwIZcaDqT>X@^ate3=-?a3uY=>}c8%*Y zP7CTt1(-Bc@oMTs9@dErWfICRVy_@?L*2?G+IFD@L40c)?G180WDxL`#OxuCZ|K2y zGUNvtuupcVMz&MI=Lv^lVp*fuzB7%>63zrl6^tQWr}!8Vx(ejqLt097gx{cZ z2Wk);iUdJC2oh2dv`0S>E=)4?rN}no`jSKn^c{qRN41ftq#F1_zI-MVYrdRCmU1DC PlO`G@AthWucdq{zPgp@i diff --git a/libs/org/jsoup/nodes/Entities$EscapeMode.class b/libs/org/jsoup/nodes/Entities$EscapeMode.class deleted file mode 100644 index 135d52ebbafc81e6ec51f72ce85b8b1c5c135456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1673 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 diff --git a/libs/org/jsoup/nodes/FormElement.class b/libs/org/jsoup/nodes/FormElement.class deleted file mode 100644 index bc1ff7741286f86b58487adbdc38b9949f2d72e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3605 zcmai1S$7;q75+-IbkC@h*lkJ9STdO;Ceh;2*btjUGPaB?JF-WTV@Z~mEVMK&spV0( z(%s`&?0W!17IrDv?1-J%#A7>#5Fm#K9(jRtc!Ynz6Fek*)ji{BEg@&lslIjl)^~5+ z`_-+Uzr6YCYXElRPieHFsK8940n;hG7c)|tRdF=Ui6w_QIh<2bN@E_jieqx_q_Kdf zRk-r$rBHw`hjJR{@r*RM(1=BRNDd!X@R2mOVp<}9v=JY}$K~(|1)r4OKb6L(@fj7L zl@m+FgnS0@pHp#4#j|q$c@0~ zluVV`-yUti~nqa5QTnSS{u#O892=jubPjfaSBC3SL2bmlBbw@i5`5HjYO3{ae*blxbD0JbsDa>xC}1wI-~sVWAD%@MqV zu4^n-L0Q)*Gq^5bhk|d=;W2aZq=bEFqs99oxr=NkT+_Rs0jEZ-8Qbv7E@RofZb$FD zK0WG`-6`|1B`LfqQp0YU8x4E$K9;b4Ce|=U8hlg3L)fF?TUgStjF&Wg8<#X3z-58c z{Z6@5%-W8hEte!|U3^c&_i;(V4>bHxI*cD586DH`BN>Z}5e+}ah=LUjKfzBm9LHk{ zex~6Jey-sdej%`>PJ!Dc)9_3DO2Mx+yo@UvuHrWWTk9!UMPd!_$14i1X{g`|`Bk($ zdHjnSuHy#F8|F*HO&Q##kW^TQHPwUZNB8+lu!W2{{^yBNEHKy!Pf>x@j! z@o4sT@H{B9h9|q@8jETpl@>{3(i?Zl?gyd}HG>FhRVC0=<8ZVmuVUb=Sz2KC=Ap58 z?8sV`>>8L~@D~Lh+`!FxFF_lZJ(Cq#+fD@B{Q(xbk=5XoKb3?!#q zGho>825vT>Ris(}KVW7yF>SdXQ`pMX*P~h0SZK8=kyr{&~W-XV%HGALUjWk;dm!v9NVA}M8|gY zaMl?vLofDmMgTUx{REZL0rYXDln&wpT+7=G{Z)r~KBZNn^A*HjrVzSF2Fe`)v=$mv zp#=_MfEpQXKdmKjqg>ooL1Ln_4k14ffgDok4q#eB)7ud?;xLX7NZ?TnRsk>5M((Z9 zsV6H?mY@ZKx&o!Mf>fbPPv4+7U8~@Z3hvbJs$kO+QdhBg1<9+>hq`Vsbrm$-L~{dn z-b70SFNxZwwjoLR5q`k-Fl)Ws!hUAy0ORNjBFu)qs}XKxd5-dp+-ehVqY=g?ohCbdJ9`wqPq(+2^D09=ysdHl88}g6?h$O!?_B!SMaW7Bv;=0XHLJTg6xu% z|CZD5t>C_%c!n$Q4_?2K(|1T!LVq_`JrHbgCZ|7GL3>X!wpYn8F_|7UqlR9vLrS5W zo>W&Ro=H{EaRW?3*F=1;vhvp7o0VnUm(zC=p@N)T`e*3UQmtFA;Dp|tNmP(u#vS^u zKw84CoW45EmeL9m`g?kk5+hl4wSvu@%9l08oB!>SsgDJeox?WDgHZWr z<$erd7lujH5pwA`$Hy>%QF4C_=P(YN7w$!BmT?M~aGGBcXZXQzmW6yA*YE`1z*G1K z4Ezg|_z$K;0!5)>TC`wRWMBoQoMve*@^G9W#Zp|^6i6!ZPt(&L5Z@`~@H z?hyV;zkNJP6TIh7QA#k{e{;7hWawx!6Kearub*-7M?`ve~){sFaQ7m diff --git a/libs/org/jsoup/nodes/Node$1.class b/libs/org/jsoup/nodes/Node$1.class deleted file mode 100644 index 49cdf5387c5b552acda5a362c5b52d9ff0888b7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855 zcmZ`&(QeZ~5S(?K7`uj~p)I8p2#`YRAWWV?AQ6ES5z0d$@0aA1Tx9IZ=k!AmNc;v8 z5fTr403U_eGbTnNSn}?9?sj%=?)>BDx99k(6aanN>fMA$kP zQF|=3e48plbGQ)aB8)^l3s19D#j{6*S~gd@{gALXOww7n(8=;FjFYL<;R#2x;<1WV z_Jq*wY+mv&?eU0U_qm)b~`bLZ+Mw-K9BBGHY4?=Y+&$2mz23(d26%oACWSLIn3uOekW}^>`H!Syg zJc$y`-n^38JefMU>*F3eK0IvsxB%COk7FMJT=r~}W$hlJQ9Av4ypWTOa9FO@GGZwA zcciq+l9aGhPM7YpP%X1(e-3cBv)SrO$L!WA4jL`K4>d3VtI;r$0nV(S?@WbX9~XJ{ z5|8?@a-<$~SD@hj3RdtHmCrn7q0Z6J0PoS@xW^b6-Nt3kW@ISYR_tK6AbeR6y4~Ol ztQG8%%FD|?u%3@OT`TYGuIXHEVCcYluV9~76Rxg_pE7Q=Q%U$++o!+CXidgPQ;<1+6TeyZp&NlxjH_+sf$8D;d`S}H;YNrwa diff --git a/libs/org/jsoup/nodes/Node$OuterHtmlVisitor.class b/libs/org/jsoup/nodes/Node$OuterHtmlVisitor.class deleted file mode 100644 index b94303ba591f409248801c48526fb8c2c44844ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 zcma)6ZBNrs6n^gApsbdHV<1da6p+0j^%Y-+d;ldZS-=EBqMt0=&DN!BvAs3^712Z! z^#_;;CVub-_@j*Hj|BBd?H3n8BJZU>FgTCcQ zL0POhD*1#WUr@ae6EaPf#$hghhtg)9pC7 z5>lbl`_0|DC`*RPPG~4xGFd9NC6b1xq*KR3)!4JwG(Q=oMC!D^0%REUkA+=ts=3yC z9ExW|>@{ABZ$M?WVK;~)mC2r&G3sAe*+(N!Qz_m=wo8LC+MULcD242+?sT`C%^E*l z)p1Igq7P69!v%18Yw4qF>%H$(*2{+644}9bYjt diff --git a/libs/org/jsoup/nodes/Node.class b/libs/org/jsoup/nodes/Node.class deleted file mode 100644 index f8e36f3cfc6ad3bb0d066bae510cc501d3ebcd62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12006 zcmb7K33y!9b^g!ONF$G)WLvUq%aXidYj(Hfi>yP222ETiPZ~;{NB}H*cP#5nt-> z(_8Ml_niOi=ic#`|NPR+04|WHBDfKMh~R(m$0?YHKk4Pq5u6k7NklJBSV|%&*IDx< z#3w1$OPS6JmrJ?cr|2c3mkOQbmP@71snU_D`ZO&p(<7KA)%v-H{A7kc)#_ztL}tnC z3aOJhVX2QugEWR^uD;KUV1dlnrv(+VP|nlKB3*L6jxE-wCHmA9#^)63(y&BzFs7Gg z9cj_0WqN7V%kr>Xp!XFKxlr2l=_0*c96_7BPA`|}>!o^GsjsUP>1t)MM#tLq=`ww~ zTrX?&a)nM=rythq>juTYF)Xi-phGt4r6VkFh@eyE>*p)=sWU8H`qCZ27TFv@i)_)$ zRXTQcxop)r+ama$Y*)?fpowIsGBBE)s!!LbPI;LpJz?1u!5+2F9@WSmxmGW`bo;uW{LUNW2ji{7x#VDLXEK{xMfcd6+?R^yhBFC4)40#8JJXqctv6=V!$Ym9 zbblh-+Rf{#b}owy#WRUiPTvJHi_hb%zJcUmzfK~QNIaLzBzuXNFAWoxto6T=e7HBB zO>EC31=SYQU_7<2bt~7W_VKfuP4*7*u_M)=xLF__g0j`gR5I5txWJPlxZ<^#E!`mq ztut~=?M$W;-NXBP6Pa!C-a$%M-I?x-5AKL(lKSoqhH?W*icnjGkrFFu(rdXYtUJD+ zL}oNCEha=r^&wbXj7+iluCKo<6SoNFlInQ#jM3rhB7`T>ok+ykSWxA&+YuierWoOY zcvcxqBKa;#ev<-=WD@(+2NQN`vY|zJLu-o34^cU+*Llu?7H+2MGC1gX;U*!zc(%)bc|bu^3GA|uicuwm22n?^v>!2 zXm)LOZ6*^Z(YmIk*G{mYr~EP-UV_<0tnAIHOdn#TuTS?4?`I@3q>4<!^qH_iwdg}) zCYv*}xpH43x1LkH*S3iQ=Rr)AIsZlABq(Cc3h2AmL@&xO&@5SzNem6f`w}~oxdAo! z1mTS-HC;GKI#nh8e@h^*y54dRck3kUC#PDH9;Q-=LIcvHQbDVkN2A3#O_TVbf-3D( zZ3|{iGDlF~)G^67T|X_6%CfK+ZYn8lTS<|OgdUoynS=@30-_K@TzO}6@eIM|Q@yvo z+{^qVRgt1cdHyGuI+RHqOs0pkg%N7gd-3W-c`g$_n8;-5G8YGRnN18P`f{eYd3AKv zL`N{DQmz!lueNgox-UY7PVBMN(mcQT#rf3K1*%iYy zOG4*2OiZu&kE+D!bbPi5L&LePiCm5aGaDA#vuf-Zz4|p$$D*;5$+Xf3xhWARxs8*9 z=m?0cip#d3{LI>lvU+Yw*Xh(CuQ%UAcYzcT$)WNUgj)0fzo)P87+GGC_t=;DpICoBn9 z_R2mNDWqNGkPgd$D@h!7aR@iN7{)=toXOi1rE;4qH{wB8Zo<8;4B{{g089T$SN7{@ z3h#Dlo*@@+$Grl$azHXJeujT`@eJ;!KF3p6h>I>DWy!ku8+^l+9PW1U0IA{4xHl}r zt{jv@VY!(+g@t%VF$!V1)s;8OZGxIY&ul8Un#+~jiHqRBr^bnyy4@8Z39iWzwP zLa)lGnh%HNEw0=r_q%uzqb@#)mv!l9TzRWJ;Nm?vrkc9P#Sx)CACkAZ@~}MO;_C#D zXXF+aU(}~BDDShJCvTTW311#_@d=K}JMcKW%>sZxp7T?eYWs23_DjS%NxE|JEquqt zPt?Na7s#3TFu7M#!kFERi|^tGO8T9yJYk;Hkl#`Q5^?2Sa>SLRs^KT;AM$Q_kBgtH zS^gczY1M++*w%Yt=E^ZziRv&`dR4Hf0Cw`Ap$iwLT|J!2CHE)%Xi)Sk z<0|hxCV3kMc3-h%y!?4b7?&2A{R=Y(5`#mDOe@>*WPd!zXbh*)x$faXX38;pk$hrf zMhyVUXVMTiQLHLu%xq>KQNkL*vX)DCrVnxB$o8A5%@p6PZClC)6RCZga;Id6d$VQ> zrVQDL7o_!fW+kjOf+Z6x!m5e0HRZ>Gb-3UPlg#F(Dz{<(P>w-cKS3`R!*=d%sTn5g z^x#2?a>-u?WgP-;ZPo1@eiR;pX+DkCgGTf&Pr}n4&lY7nPQPYNCp$EsO z%1)!O+N%Vitl2u0Cm9ZLv#XyuX8Y3NjWd~77Z&G7DLrl5ZQ5<_K3LvD+9`1>!p@H$ zb7^k_(!}1+EH~bn_nIPOWAYE%w=BJowT?H|Z1cV`6W?cdA)AZoyI?D8;(U)BVDEWQ z5p7h&hlUa<+q0VO{dj7c@QXBTc_xC!G3||)zr4>`DzPk?-ImcUZm4OOI%NqvM|I-h zZYHmu0A%0(tnnI#d5XFbDxyWDJa&har^ydf66)60M-~KQB9LwU-jwq1IRpHg=rsC758$c@&dj-i^I{$U`da zW0F}fsAmUxZX3v?4{5qwwRA^l0namUgy1HWVUBhid>-P-r-K8$vbgdJZ9vA1v;8pR z>_yC-rIq(f5z@AUGjHeHA<`(}eL?gjBz6i;GykF=L&=K>MPs8VeGz5R<`)ruo|7Eh z!RuUvbpgpNiqva#WKm5080W zfeKuRX=pR#UAxed4+-9c!<;ADJ$b}$r*w+-{`IPZ%=Rq!m7z3J(pJ z>+ytsjBg+0>+yekh{v@zJuKE zq{rQ5I9QLX^66IjblHGCE2z<0;yy#hdRD;_k02ibn^9^&)fiA`FsmmTJBit& zsM}eH1B>htB6}3oI2u4!<0Gr_VnKAn;33;hiB#eS5}%_%U4Im1bVO>pOkW#Lp|Jqi zhQ$lyGD`VR(lbv7I5qg38hjl*ipM-oSLAg|(xLj(nCq~qpI4x5mGRjCy`WCt!ThA& zoWtX!quFVNc?Zgs-YLuogV$Wjn9a zzAO@SHJ`@$f+MKs!(vg~-LaNYEIExP2Rld3{WPZBOH2x!Npk^zkLhg3m*LyYssDi0 z_>MuNak7jt@h*C(MnJoVYdTs;T{HAij;brzkpq0nW1g;CCcdleZM52S+EWtS zI*JtmE+&p;9zrr7{KXM-<-7p5`5tIeG@hzD9`WIC@ZeV(_@O;T1!y7JWdV|vKFLbt z1sL%K==B6xSWJLDuO-4I6yZ|xT7~(tI>2wC&u^h8f};lqp2A*Xz-y3pri%#LSe2u@r6iwvS5lU?U758( zlx}osi^-42aB<1S;o7i$dm2qGwPBxdd0jcz)|E3z>Pq#tawm^sM$UcHxS&CfDPBxdD&K9z4nS_eq~o z>TZgEKg-@nm{!Z#1T4o#SuV5_ea2VxGoIhg;Y?Mp!*=RUoS=G3I6sT$`4_@QTt~%z zm~0>Q;Z!lG4n-<+R2s4arfg z4y0R?pX4C($jz)bxA52bTXBipW@NO9Am6^6k6OGy#Qb?gkG4F&ej~AHS((Sey+(@` z3)wMkqVgcxXxI~hT4nRVT{QmPsFHio$g{b8*F-YD^5(G~ewa*3*-2@ga(t!O5ylU{ zp2kZaknNsQYR3mOfn8F_o0k29RLnyRmbYPsJRFd<)@NUfGe*{s9=rK0Y^zqQDy176 z&C=nbu@})ip2ee7>0?aI?;wlECt;yGCGKMO2&h;_1+Hr(Kv|-69v}@XE zwrusr9<`NImbVi_sF7;FtOProqr}nNIEu?-+*$+>MG>LnzYEjk2+I}Caj86oc6lGx$-iW&JY`qUZJj0 zs12vFmhDTl;UumY2hygoX9@B+E93~X>j&tOA4F6>6mXE34=Uz?s>MtL#bN8qgH{j9 z69iI5C~IR~%`dl?TpX$mH9n1tnrlNVOu8AxI!3~J#Z*^nd#XC!wAerj^;3z5L(Csv zDcIF)H02}I;76H0POySKPjDZ@N{(GFFZdv5aP#?D>Pyr8S|9FOdhzE7PC`}9k@PW9$-En>>fZ1X!KdQ&FT<#Bk%*$ z|Jn*?UEw=a&v%*KzRzy+2MqKdGPr+)_3~qM@xDcDqpm^T&h3G%V85wK^P2_1U;7p62~X9nR#vYuR!KRqJhW$x6}I91-1aghc>6NO zRKBONvG#Kc@(cE*zru9+HGTRwtS-Oh|LOXjuYM4sJ=B@bgCGUV-*vbn*AAypG3+;m zE%=%bvX{}Pp4=1!x%?RF^qp7@)c&#P>>kAy&EFHy8Y74lloX$wEjgbFZiZu-knO6I#q^(4TLg}J?HB$ zSVnOE_~y~No`P%0&(KnN1|2=@r{B<}?b?;&8+KG zu3!!OHutq!FZt7zM}CXf#?MwU&R|QA=8LON;%Z8y@{Cv163lY!k)T!7Y+q5cJ?hY( zxjgEdJP(;mQp?VoHhtMBwvJ%x8MO3N*PO&Qz80h~dsoMv3ffdR*U}FGKg5rqarR@q zlRkfW^SBiJVieoQ6T7siU;LCrtY7RQL{gOYfYc&+7jv%71XLTOGh0mIkfH23xqu6~El_RLq7v@IO^%O$H#GA7T zVW$JLoh#Akbm4NRJK&B9t7nCVf5E>JZX-6C)TZvp-yuB#ZlVC{j+&T=WUAgy<2v1J zhDugXn^!+zkyYw#6xZwUp4IgQDArMTq1L$;EzWKO!MajD5!JF`{e>5E{O#E?=8oU? zBLh(x#SKjOdw8xK@6sCAyOZ5q-%)h)*01M0rdw$-$kQ*f)W3%|v`QOWsZ zB|Gvvj)e5LU{4?QeA8<901w0y>NF#$>^_5iJuN3O@Tq3)sGDQ-gpv`2X^Z7ddb*3D z(|D#y>gI+A=sH@)Uj>@SpQY(921bX$O4=Bxr0R@?GWuhdQLP5$JS*Evu=>-2Ro!8f zJ8xlTdNW+-UK;*>%yHhzbE^mFgAY=D4`H|SFm81o!TrvozUo|dSO0Pz$#2?HKOU7jfMyqa}#-8K;7e};3+e^~_ z?YC|7jBqe*$H!5kc~OjvCTEeiga6@}gWqF6?{kQ13wL9K%(}DquK&Kr6T|Og%Krgi CdOw~3 diff --git a/libs/org/jsoup/nodes/TextNode.class b/libs/org/jsoup/nodes/TextNode.class deleted file mode 100644 index c84459163666ddf7dc2875799b654c4f13cd25dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5344 zcma)9i+>c=75*mKWRuMhAV5e+kW~?1ot%^&{|GSZxpW=xuwqD;W zG2GT`n?_=|UBRS|WWutwgx#;j)4GCyt?#!Ll&>@rhJA~I1x6;vSjlv%EkSv!t&jRQaYWmK zgPNspH4U-M%-k_I`1gNC)1p1DUsX;brnf=VkD zH*9xpc2oBoLX{_X@3wS$P3fi^V!AdYe$U7=5AM;UcDv|MlH==^wo0dY2((Xi_#+7D*XYu^J;P-ilQ!ZpA95|6D;-u>svGc4JsY3SUuBSM2mG zii)pdjf$^fIEb&S=s{Y+yk039VYeKFN79xZ9@N8$q}%Dknr-aUgSe#PGQJVSH&wif zg9>i)i+M7`&OtH5c1%lzqiNIR`3{Sn;kcd{wqq*3g>Osq9bvIv_|W>*V%T@_Jr&;< z`02$IBnm2ifFG*(5jLv$F@B<8X7R4hxGv>H#ZU3GAbzgm7qYiUnqNxuE4&uOuT}g8 z2UYwQ+g1DyzYpRMD*lK+sra*4@;Zi@-8=8HS`htB6Z* z5^fas%E(kxirpHsd>0O^&Z7K2fzEz$eV~7QgnP^yjrd+GFO#>5DGamgZ#dk7=+}O$; zlpd5al%Nx9o4R=k6>p}YGvsobV7@%1NwzS9C#W3WIaDoUFi!aH#E`yUL6tT%)Dh$T zLP4@_>fYh=ks~N2t14yk);e%It&@Z1Dw9>3IJI=|?Fdr@BUMDtWEymZ7 z3T@cu-dHsQbZr{*Td|6;E$G1)fKX~ePCcfoL@-? zxK9aIzjPw2Q#JKeoY!2JVOr#Mqu+!HZ-fbwXJ+x7XFCZ-dG)O!dVqP?F)n}I+Dwah zXq+dEf@#@+IFC+ek`eLwFH0BK@~vCP*L(?PVI@{U!7a{LC0kZ$wlg`$`o?xGzqWH{ zDf`KhGf*N6PopH#avG)2bE*U#Y-}9RACh#0P7rNY;3OjJByX?U!1j~vp_CzZp8I+BoyjZ@uK)#|tem&)c z;hi+JgngYuEOH9LOPC~GO=U|4p-3LjrMehpSi(}f6t!69VAs0xIjVIYRYk5kPs>_| zuxKIjWx}39=?SQ=o(!t;T3ptv3aqZnSsGF zjv^R1fk0`^q%l-Ch+P>>emXljg_Gjg(uNGCZj=!RHJc&}GnlsREGo9Qa&Gz=%(ywg zLG2~fOUM72fn9-fsM}szALz}XzP=!?^O-21CDphcb8!b+(TnBiV?J)hdj6{0f^8UP z=1CeYb*;?#b`NE?kV7j|=nf~1mUB-pN2Qbv6Q#>Z$gPxjB%;AE`> zB+Ip9m^bSAZh4@EGi9x%GXkY!xITYmX3-+xZOo0GWU~u{&|tDXh-d-lLpjceFn}Fo z102F#WG~rzi1Ith*`ycmCPsjBT8?u!zhp+qD|ORKcN9e2#hd~bQ%`}CQ=oVX6dIOI z;x-x~W|WcF{Nju?3No(DgRUf_AukSFsMM__V_2|JQfFZc^Ck}ya)?|_>M%#IbbC$Wqd|@@XI{gf{`&aZ74XkF6@4a9VoCc=sBdUz|GZ*ipHox$Q_xW@_i zM1fJ21xA@3$VL*Ee5rDcT6hLaieW|xbJT%xbEPV0Rh4HI#bG&RLXp?42kqm#G#?e0 z?=d1jbrrsRC|?P0S+S+ZiFe{EczknT32%8Z-bvy;dlfuB+daHdMpsILlATB+*xb)y1cqgq|fa`G|OSQZL_{+kxbBC9Qa~SfQS5BGJ5OXb&>zFy- zF4xqql@0k|RXeoK(SY-Oc3dcM$Q(~)8J{MHoExJA_d7@H-MsOc>Qvc}i@a$n{||r1 Brk4N! diff --git a/libs/org/jsoup/nodes/XmlDeclaration.class b/libs/org/jsoup/nodes/XmlDeclaration.class deleted file mode 100644 index 5fc1a5cc2749424ad95aff435a00dc4ef451173b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2130 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 Z{HQ=MAYa8F-aNXrN**hY8f8B7{{Sq&Ng4nE diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$1.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$1.class deleted file mode 100644 index 7e81ad888e231d40d85722240eb7775510be70a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2235 zcma)8>sAw26#fnbhKwU1Dng}{LMT@aSbH;wkqC+g3QdGs?PW*~Fp$i|xpXZbg(vV2 zf9j9e)vnbC=tH&rPA)JoKwVkcXP$rE_L?5+yxZr(l*g zOxIHThA`&uTAqNhY}?Y!luXZ)+)iX2cPF{$IYA{^FS}lgi*}*pc)Xew>F+v41ATaAAd3|Zs|LQsnt^rXH9R-4flUM7E6EG676Zo@5KYFw zOT04hqar^k^0Oj+_{D&UEe!<&MMwkNSktg$z`~w^eUuE8VHgafQ{ETU+C)L2Pw}v8)PPGLm*RnZB^fz)|$cd&sl_euQnghmm#9t6j z1EZ#5NBXN~neBOv(MR41fvW_p1zRPnuv}yjtZhrWb!qO6=gV?fsuR0ldh)qz2|PRF z`l1d#M52C712bR0fw`}A*XNfvurS{0`;Z6JNhVE#noliy@Ql?M6u247iFdB5T zGGVP~4o#FYxFEM3SE|vI!T6#w0Bl14No8V zK;$8UfKU(x1UrMwFfvX69UW)%ll~We@DFgt4}MY4-GsJz6#1~{zRo>+&hPxrz4zCD zzWWhC8@}>l308Zs25UX&#Is&>q1#KnbzU@JJzwqdq6W`-u>nyop0CCW=;dM~7k$;( zgw0&MC}IoOk8!PjFScTv8{6G@$&I)h18(f_;$^(TS6>zJ8n^#C7qSP7G03MATqLii@-eRm2d3Yn7_0)*6P|K<|*eM-FFXEftPghN`6^(WY$-j&41vFwE#xHKi{* zJg6A`@?eH$e7$-?&TNwnm5&RP4lAvi3{q6n6r(#Mo2Ej;V6SeZ!b7H>9SM)fhN&3g z4c2g`-%ymUteQzGM$D2e#oyK%VGu_QJ)xMiZFQi0U%$Rf(IVyZCH5js0}P%-S~lc_ zr5N1XvhWyKf|R-^loplSwg2ZI*CGFy#ZWheA}v>0gA5f6l{(1ajpen319Lk!nn>5D6>}yLgEy|;zv>yaf4xPr8+3jcI971c)>iPU+or{$|HVq(Qj9XKVKpKJUX`Q-#Cu?d=@ABFqYBIkz!Aku?lOv({&nVQLr} zic+W1L2rf&i{#hb391z>QB-`~Cl6DA4HHUfB{M=Nd;W)82_mAbs!>5qPGP~F9pwz* z9@dzO)uWq)O;n>>!XnTefdO7sgaW^ek~V`@RIvC+By>f!F8jD@ET?QmN-%U)V2{o2 z|G$I^tfIJFsvQoUL{nLtbj9#M>osNXR5YBX8)}Nzqivs|sVIvNxnFsaS%$2cs-^0b zn1-pGu`8@`BC`*%>2K?7rRT;Hdi(%Y^fe*?@`-xwa6q8e9c-S@?t*<|YXnKUNCU!Q zG*e&VeYg=q3$>uLy*0m|-G-Ai!8~_R)%-1l92_lQlSYI-zQ;-5%;p@NeM@t2-Gi8e zdlcSKFb9utE0lwm&)-LN6}FGz7d~+x5~CaCX1+g-VWp$qaUate-8!dvZwA9ps9EW( zcizLyix{$vk+v^~S?(WD6Bm55V{wOXPAu;9)yCp3-`rSS^wq`gp?(zpkRykAq3_WU zzl-_x&Kw@QgU54tVta_ZpErhJrL{54Dw@t=!PvjM=%))qBo^iHWQd~l-*VidfUCd( z96&7rcm(r>qgW^$LyK@6%Y+kHE}TTSa0)%b8Eg^G!W7Qopl}|CgbTPSjN-O%5kCu; z@SAWMzYACJr*IX23D@wqaGf#X1`~xbJ1HFmu1PP3HcFxs3-Je*VL4AG^E^lt^;Y01 zo(Sqajc3R+0V{0}BUnYP!zRU2>IKQhVrtRprsruVI#7pQh4C8R*0|}F+zF$z?mr2q BA4~uM diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$11.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$11.class deleted file mode 100644 index 6ae18040629f171d99920a243adf24735b9c7f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2557 zcma)8ZFdtz6n-X?bhqmQH9%=C2!#TDgHQ!j3T3#fsEqM}C+hvO$d`Xl@a9`9^Y(cKKI_)-u(OO4*&-6 zsfNuM)-Zwxr5M#nH>P60hLsrCZ~zZUaZrk+6o)iCj0rhAEX8Cqx^P6!9+Af%mEx!d z17iwODvqf*uHrEjkE=+lIHBUCiYGKYiBl?`lEt_k(GDld$tR4!vz+{3vgbHMbj-~Oh7}W*BPL6QjPO!s#wJaC!p)lYanrNp zx~hx@Q(tzVU2$XII6507M=dcK-+?ISqv=K(QyWz0$)dfl8&=@M#r-_r{g(1 zuiyn8FQTa9CA_TT6{&s|ujzPQTD>7Jd=qagc!!~-o(%?`b!`TfWZt9HGQ@(6n>#1N zCVFDQY1busA_37K3#Nog%1A&^-qrCQ-j_;QIXXU&xVGa%qP}uIIz`o?<0FY=J3eOU zzTNs^*nC^24C@-~7M6j6PZ)-m>WTkNX0?T4(h_=tnZsA{&G)v7rG_U8zy;T29!^M%FD-EiSsL`Y=eq zG2wZxN4>p7lh)lCGE(6qFX&yMR!0o=n{quFw(*LhTOlMr(p#G{l@>A}F z=?8~RZ$?nOO0q%^!`8+uEg3j9ci@?hZ^>??h2;|-FQAu+7UqJ5TGMY@6nOQ`tkl4~ z5fQMyM!=FLL}1NgO4vnucq=J97Fg7}5sUD2FD#X6f=@OUm(2OH>gzXOx*bd8J_K2L zev{5<_#BMh((E=Fl)kstBKglx$jA=*$Ze)iFA$;M7HkE@NV9to1*cK%?OV$(gIx?Q zdPp{r1^8#^rMWKWP|=5NG=iR=MCCmD3o-fw+uc`2WEN=}cp1@ntc<2v9Foh)ZKT)} z?Qf5kp`3@--&=;t=laWNrk_^E9ijDksNqh(TQ=k5W= zgkOfiuiyl~ic|bMT;SL6J^vBc`A@jPuj6*2q#K7NDkX ZY2HO6MpXJ&ZiMQp4OVq+(E2U3{R45bt=|9u diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$12.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$12.class deleted file mode 100644 index c5a9769572c1b2c9afcff127ca4e23fcc76adb08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3148 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 CbS?h? diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$14.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$14.class deleted file mode 100644 index ab3a398e9df6cbba1b727942b5a09a9169c0d3da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3080 zcmb7G+jA3D82_F2B)biZloTqpAO#AfX`r;=1W^&GV&VJ|j-G1lW{q^7P ze*(~sF9T@7kpQ9?6vI#e&)}$pV=|7*I1xY$!vTz7R19M^2;oH`#l>(^#wi)6Wt@?5 zR>nCQ=Vhn?(is;+Lf|FEpasy0qXGDEL7Yp8AuR@708Yr56bnNP85yPwOYCRG`eFdK zcw!?XAt%9M@bA@4-PzAjABs+>m((^xHB)Ud$JWhM=RnIS1Mjht8pDdHZfZkQnQ_e? zR>uw62}Z4iYK*G3F4o0O?xgh`gEC;6n%!flxtvDJaMZF>Z4)_bD%+M-?VM(}^*b43 z*w(b}DcwkFcFa*7t+{_7cgxuFSB0DNs*=AQ>fm%@SJlxXKx4 z*jWC2acGoY)x1iHHdDPuPShr?nn^<&)N?u78@3sC|BuYgtAd-gr^`K!SlGz zP`fziA~|U>BqiKX@G4%D@VbIGa8tpXcuT?CxTWAW-cfJ|H;F?DHS6e>$xxlJ45~ei zDVylW;B&^U(B=GO! zV+Eh!mN+Shui#VhtOK7BXFO=0CUPs77Cv?0frQT)LXUd`7&bqaDiN+sZy|{p)-9po zF;c=830J$I*Qk{MjV~$U8Pg$Llr_hRgNY6YMMi<+@Hu`!q8OFrxKIHmfP)4SeJV& z)6uRFizqxwgov5DW;zs{f57a~42olGd4eicf{p|n zTQzgKNBVFD^A*ntr<**d2UUBLdb`zU*%{Sw+~(r?LycJ0bEPgPtFz*UrRz7_^8DJx zDb*l|)$@ySbbLZfIBvI5bkj{{EMaA-eJoHbzJ^4Be41@r)Yz)C7Tw{-1(p|QZ`ptc z+3nu*<;8AQ3ZSti&qEzu{aM(vF{*HqcKuIO@tHzW08kgR)9hq%V*Ht zz-uK>{RyGIA{O@rYh!VLaAhnm1%t7;9IT7QYyH7h9#A0M8hM1(d3UPM&)^R-{p2)$ zp=piqph0*LTvfnR)7TPe-~}{3Kp+w>U~P5Y^`d}v!ilHJi5c7><@K&|3Aus$J%`8x zE%l&+|N` z+AGFAG*dCUA@Lq4{2+q74?(<=M z#YZs1N0H}a_?pM@ke|dOehNSH)A)^_!SDPm{^aNI7e9}`xr%>yf^nW?0j{x5et~uI z6zk?X8{m^H$_*Cdrb~=|NJNetcHudqQ4kq={q818-Ng^sgMGAjAKw=Dh$JNfk+dHN z1gS{s!V45-m3V7PfBsX8*%OVA<@eMQgv m-MS6nFwNY(b~{MgNOFi~bjkEpAH}m+Lm%Q%?4|j#xBnklp&au7 diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$15.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$15.class deleted file mode 100644 index 59f084c6c60dcf27e65b5088a4d991c38a770017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2875 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 diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$17.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$17.class deleted file mode 100644 index 8bf94b9228d964e2f4664a138da2ce53e17855be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1917 zcmbVNTXWk~5dKbVS*Nbrx@wX-7igL$#CF^`E|&uCB_yOI;IJwR{F`({Y5iW}Ch*=(SXLy`9Q4-`(p~dZy^D=eC7UVYdtMxQ6?KaB6Y;5MHhL6$1+x@^RM)f?*_R zG0evIhoKmbJu$Q&9(_rYM=Y&7ZQJ#Uy!#^Px*ZKu_)JAz!+ku^@DPtw ze4)WWgCRG}Hbg{p5_E;xk!Sbh5^7x)TN<|USjCqb znxM)vzOY3*(C`FbYq*AQG<+)$@EuGQEe&mH?m)=BrwoPDwufQLk7^>>dqxbcePA%ce$I)Y3u%9Z%v|vX+?>wB+kTgCIQ5r5PwC+>xXK z4f#AbxLWH@CuD9c;Yc$7R03#pYveAs{38Hv9;=xn+tt?-9=Q-*Z^R0WI&y@eSx)#t zG1_jANavf55e_uNLcE!Y|HvcYBUv{8_kS<#%QW~)@XA5tkKM6bd6S3KWDte`F)I)OMP4@>$yHIJ}wiG zen88meV8Oh`xyH_pz{&v0HKfZedPX?B6Uz+e2&X~35GKp8pbV$)mM8h#fhnUA(A#I0PK!K1`D25qISR|Pa e+i{h&S<)v+Vuj<=fn25^fv|_Wt7z2i28xX?iWh9Z<;K;@pjAF$yI6)za^IS<|u~^#0yQ@?= zRXOL9TTUu|02eOyK}qG1ACMoFO3zBdjvi%HrRkpTuOHLhGyBiKfBg+04NJuoVseQO z<1!K|ZeUqO5-GW)<#t7KA4={c$=#I8EfuR+3*xqlkCBm*J94?JVjXJ|dQW=WklcN# z*p%Fsf(Ht=83K0<({R@rCL{Sn{U<$H)y+zB&$SJ+lF3E)8T?yTSukA48>ZN)*NVa} z=*22Y#`0E4ukP!%A@^;e-#suK1}$fr!rrRtjw5Ir%UgCOdFWX6qvVlpJHk#rbZgau zEyQNssFsDj=jyHqr`IwJ%8_lAghOU`BfWM7>$xy9z49)9ndnmn<}yt6LR&5vhTI}U zs8`?Zib378>UK$F4SDYAF1?rfvMe4|Y1=GSEr*KtShxpPS;I6w(eMyC4WHtXg1m-# zJXWxyVHZy{e1?LCFR-uSOS%0DUu$?Oxo_~Dg6}o_fFG#`2UINux`rZ38p;wNP*HH8 z!H}CnJks!78dv3Z9yx}{d27zFcrK`d8pFMQbMnp_w%ePL1EuOE+1_wEm139~*kakh zK+fE>$}bs~&KH5EXYO4`Vb~lP^PEv+YLh*2ys=^!Hk>W1Rud)-pD!Yz!+J-ez@+&; zQ->na-iV%?a2rDh3K%Bc7jm{RDD5+_tS*IrV3pjLM>MHi*tTWU_3LBVZ-`s%F&yfa z?H2Tk?A2SF;2ZhE;LJN9N`1C}jlvxW4YsM*DA93p*Yo-?jCRYY8sbG=uhQEv@%9|< z77se{;L7_MPa%Q+>ro24=C@!YQs;WWdw9_0V#Vk1Rw`V@UOfFb%%;{(uLB5nnK z_=pB$@hj{PuvZ@93atS`fY0G7@tWij#5K$j1-%!cmOYy%YiWNR{}V$EXo>i1_?qya z#+%>`j3kH#nov&gGjYKN)I_X_VV~5i4a^XEuL*7J{U%1b%r7($BlTz#7u)KYL=$6g zTqIuOQWN7Rm?hXm1A!Avc-~1tIgHELlc)YuN^c1ANISShM+!mV3mD~LT;_`i@#~24 zB`os@Qap+*k71X`A$S5+egiM~G8~@5FMI{R@|*aL-@@;F6%BsdE6rT%_-Ca##sb1# xxsI`j>lE3CB`<>rqD1{(8)k`%fm2iHw-H3PO+Tj(?j9jliGE9To#-=6{Ritc7(f63 diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$19.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$19.class deleted file mode 100644 index 8dc33bf6dbc9e2b78beb9b6129fe8236cb131690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2737 zcma)8S#uOs6#i~9H$9njfJBx=){w!hFbU!U2_a-7fh<5mBA`HL<}&Fp(>-+eAfUJ_ ziW@GJ75+e8cu*cj%Lje2e9&LvlMhz;;194or)MUCSt6;*JDZV_-I@5g2gm4DO_-;0YIlRQ!Sw7CO+(5WqNQiKas01dC{cpbNN zyn#1$bl@$@)MbZaca_H$-lin_w2pU}2wHabTF1Mr@g5s}AGbApsN*Bt(eSa3PjFMm zr?{izGrsYj3LhF2|eY}KYaXeX1(BAv=s4xySn&2lt+O;fpYy?YHWvkK&6bNP33GPzfW z?5KAmMFSv}Zy zD6TbSpeEZX!^xCKzEcpR%81dRo9?g`^Y>-YSV61uyr%Nm&5Dra?L}>xZRNa;bK`9N|g&+R)w^R#z1{-2J4ofckX?N^%-n< zK&-kvD}(yEWpokisa4iSVr?hZrabE*HnU>xk!4(`2evF>fyNyYnG-WUzA?Eo5oe5*qXO?DBoo`40y2?*<-FnkvAFyu*o? zebD3))XRP}%A*L&0d&Ygbjcy?m%}(HN6;saVMvZ*QjTFx9)}@MU{Q|4lM}clCvjU& z;jTP|d-62Cku&&Kp25#@7Qe_j{3_4lcXV%9yB?O01W0 zznBN8VDv)`d(lP38^Sbwqqz;Ji1`8&_ACx?(FuDF&r>9oc)^e8MI0m;@SCZPu>I61 gO$5;&q@R(!h@b&Rj*b((Ky-@WRf1;-et?Gm0DvCkGXMYp diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$2.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$2.class deleted file mode 100644 index 1d87886f6af4ecabe9c0cf74abf3f6f37ec8d4db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2273 zcma)8T~`}L7=DI??6O_cHVsG%RLVyQNoW#ktr{o@1;Nr*O-hBTb(2h!rJLP!cT?p; z@4WNI<5fJ|_og>`k@k3w{s4cJ$9Fa#qzO?jGBfY&^L{<=J2UzFpFjQrkiwyYaU>KZ zky5aT>tgk;7;XshJ@NIX5Z@QW2MRt!TE>!s3s@F_TSFMbidd}*z(-&Bn z)k>nG*$%f8TW;CN+MKUdb)&%TjH|hPW--kmRctHI9nxBk^r~g8r`$~U?su6>&+juZ zmtnLQ+AzT|;N}>ndcSv@qHHwtkn%E%8-_!PD;cY5=lP~CSh&~)_Y%1#s3gud%)DVa zq2Fe0#q9WlL!@2G<3RSKZXv$fIL&`g6OR!Zqa8<-`RYeugRm|cs z!`vzB#4vj*q=au7R!(ZI|K+{W5vjE3!I2(kUJ)6Fbmz8}cMmI63137MeX0YQaO$;@7KsV_CkeTTd z{J#knxhq;;9EX`yGRZL3PsM9^MRzD*+s$f4q1PeE$NSU$V{Cya$ai{ZY(&4eiOJ1>KR%s!td?K(bzb91@;^54PcVS03m>BT%l3*)-t9rLlWrjx!TZYmoVt* zAI0hzs6mNG>+tzrlH{);7^iu#j=&3iAA1d{hC#phB-b!Y(@-5s=u91I4I=_c@>>t% zzav=3*%!D&JLhUh&~(0zkn|@m?D<0B%$`3qoY@-;oyqJ4LL-^ic$?ftWARrQ6}CyG z6-0B>|B@nZhuVM~CL@Yjou&@B_WiKhm@R6Y=yj zuHzTnz^}OJaWdJ+yUocFS%`Q%9g&?Vc^nY8b%Q7DlO&iA$3?~$TWN~4FCE7h^e|~i zSfbdLJN$&(e!^`(;iexSMJ+O1pr}Fh6m_1aUzBPyMl)7r+;7f%l+iv$>5oYgIhxmL HwlMlHG>l8e diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$20.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$20.class deleted file mode 100644 index f7f0ffd897a7321e691527ca38e508c540050cac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2204 zcma)8TUQ%Z6#fomGRbs$!xo`n%O%)AViTyhHoeeLBGI&1iB#*Q4#^=5O=iNG2`y{s z(l=kbe2XtG7Z1Gj#Xdxr5B>mul*@f)Ldwb{$^&QL_u2c~`%L)zpFjTsFpoVA7m$?4 zTNr0oM0D=P8~;Txu9y0;jHhIEixwTU1ipj@_uI>V|N* zNUgZFYEf{WZJ5M>-0)r{cbj zReYjiO-B)*>R87^9iQO~DSoNrD=B`B$2z`|oPm-Gis#s*8Eg?+Dk?g*VCvY$6CKm2 z>ZnOq3w0GcI)qd^c+3#7>`h_RxTC|B$_5@X#E&}zhM8lzs@P??-D_|D7gK-S^BK8d zno*MDj?Jgj3}byqE(bassLPur!wJJ#+A@Sua=B3Plp)#?8DjC-U_oABtm8#{HxWqQ zHE4P*rbW9;TQ$?K%p)0PZ&A}(vTHSNQOsamwh*OCeT|A|wCo-8)PGdz2T+aE{qJr2 zv~Rs@m)yNNZL7kCumwHA9+6%Bc|-9>Vmc%Uw`f%4e2xf_SNiGx1s^(5#g_u8`p6%; z&~jU}sSM{RUEmAEaHd;FQ{X!dqe|b0^GA1Ybz_^CT<_h7^H$a_?=f5s&b?>P4A~y= z_}__RrjWCZn9j0Q_CSjm9X5QZo9qvm??Q0B(Fd->97A_DX~n%G=e=-Fo29wJupHAh zZHv&!TPxfs)8wg|)f|BkNZAX6*nF=S(Dh0fE(VgdUHtW1Ow%vS1^QV72Iy}LY1vWgC}>*Cme#CNM=5^o@)8@obW!W&D2P4-7PMDw$|u zu!Yb8ej-k3Yr-w42l#9lK(>~{S!%5cRjFY}u`sIG zh$(d>lpUlMfd$3EisIsd(m+Mo#g6h6KPu1gT-n3V%D4DM`3}D--+RzZ`0aO~*~bjt z^x)dZWyI;mLCktL&mloH_^?esrvCvRU<98NeMIyc(G8+mqBchU E1$jMFKL7v# diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$21.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$21.class deleted file mode 100644 index dcd298e16a2c57d95180d5ce8ccebeef082b4753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1742 zcma)6TT|0O6#f>Prj1dsTm(Tus8DF76csN;L2gp4pi)ploC#$If^C9H>I|=rw;6SO zhCjdyFZxg&o$&|wqa4qMi`c-(L-w3KdoJI8=WKrc{{9m{0#6lG;k<%2w2LL8paY#k zi;9Do&@PCjOF9hJ;1h-X0=F{SLXIq&a%0vq8c}3+*Hwz0Ts6}EMr8)C~m756P6UlRooF;8WS=mRougU zB7K?Yk?}yq6f!ENF{7dp4^=!8u8%RRVoofL7-xtam0X7NM{gL&IU=?!YO!O$1m@Mq3hb`!<2U_SVC% zwChB7YVzD^`_{WIG$V$VCwSGA&hv5^Dobs|0e@c5a`dih_P2I&VTETM7rsAb44R8; z4DDXdOBf{>4kws{hw^d66r%f*ZjVfklH`_UTJ*a(AnAeiMXMCY(hOU7bkiW<9@Y+u z3nv)PdOZJ`s)26$eOA%$7bv5z8a1GSCaniPl#>i}MjP2zu+Of?DO&yH0qG^`NLPi9 z0P4{|67){b?8N_|Xc0djEuw54Ct@Vai|}nCO`5cU=IA&0H&9PIc^wTT0!0KvN)gA_ zp~j+LpcZj_i|i-X;on3}th0!Um}{;S*-mcxwx~cE1gJIy3Dhgd(rbjIH|Uk#qF;K4 zl=L1G(g#dSA2BC=azQt51KR^VkF#iUFEWp2oTH58XmK;QB23cf5_Foh7Scl`F%UrC QjvS=gLzFj8@-FKB0IHGDY5)KL diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$22.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$22.class deleted file mode 100644 index 8d795d5810346edb03e2b2a9ec7e60cca295429c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1766 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 diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$4.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$4.class deleted file mode 100644 index 8e29ddeb70a28c3edd7bff313d54dd30b419ebe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4042 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

OcR}{R; z&2DnI*YLW6H;@s~P_8JsB~_bEn+8!MCNm_6k*09EX3Wu$We#Oc$kUdZ<+|0{&Z5pl zys6+VyiJrPEd>uE#xrCpdA3#P>arUio>46|bym1zEFcVL6j3$tkPb7Sh)KkH-=GuDo%`KfvY}RGpe)-*#dzC1+X6agSSI+!!*`izMgnSSHM&DqMKSbC(dDdr7lL zjkL>HHyOJ+Enoh@1BjnEQG88WC zYn8%rWa?3B=WVxvry5b`n4TwzpH}(dKT!pB$L=bfY+k-*(6vsfckEQ;)}`RK_AU>7 z@0lL@l6BC>6!6jSD2{=Or`i4RyE{^Mt@ZR_aS_&ZvuNX2^40*r}DR)Pr>o~~sA@D;5@LCW15Xaujah4&| zE6P}Q>+`J^-2AIVhDX;B8fg9{M6945UlG|~6HVV>1m9vDtBB(}e2VY!8GgVzZs88r z@H>9QpZE!XA&=1+6#ibDWTs&#B|vFqrvbX8q(w!bP-;sHl|t2&mVnzN9g-=@OqiL1RZwxm z6vWVYnoy-#AMS{h%IZ;jflU? z)VmY@glw3K;a_LPV{L|_)OV|~PQ?gVvZZ*J)-VVOLk}w^X{{<9sn(`%SG1au>siOu zlx-o;ql(jW|A>?K<_rfN|VYfP@E-hCvh?N zhU(R*g=4x&iW?Lws&`88<7x@Ju}8o)60XJd0&b9SBW{v#GxkZi1-End4heU1c0UeC zxQkPF;~ojCaW79O6-~l@xL?9S9FlMz9-!5b-r2)ddnG)Gha^0V1C+~c24%-oED4X` z5JN$BlDMMGLlXJ4P1h)6LMTEQ(Wq#Sn5u23DXv%)jHv0U;|Q>3*iaKB>olz%o&=|* zS}{eyqY@s&;}V|0lMQ_ldWTAM7$(SOLsT~8 zu%#FRUS-G|U>Urnqx5YmlmRKi^4t-JXTg$+rfSslRI~+Sx#=A|k;j&&nhkoKHz`AI zDGwo!JWZ_#I7~Z+RcAwC)OWDya$LL0!HWW0ip)MtC**Bf5S*xceBruN;L3C#Q zC~=MRa!toeMOiu4A%oZCPzYt;zV6H&(aKxBbc>B@%aAowwNzcB6gF#3>1%`_K8UlZ z5=+n-QB2pe8U759c!<-xTAf-g8qO%6` zGl~HDlzvzRi6E;>RA+2x}J3JGU$nS;Zt2ly5 zNfh+c(qwz7$VW1s4j-L9#b<9$?ZZLZo@Q@PNpBxPVG^{nyVy~X_d2Erb3H|YpuSY*5COJe>Cr?1$VL<#rD zOa64&?1GLy%plVXZPRXBI=8>P!gmylXloUPRN4zaO=U@xJ5z2<=59<(8JIXAJ9)UW zqo2~7D!_h}5d9VeybTZDK{4Ki7w@40?^97ezzQ6v4~7rv+5HHu_!yh<2}1Z3QGA9t zKF2P6fxY+=`|uTgU3^WuCy4t7C-E&#(fB*Q!)bhvfA9li_>tw}6m#PzHWfcJKYn4$ z@hhvvZ>$b~u(kNp20|?r`y>jnoUA)->ouq)05y_-t5HW_A}C~FLe%-F=g=Xl0c$9( z9R87zf)4qcV?)p5;}x#x@Hu#8DQCXH9OT;)rzr=25eWabeVCil%2=V?q^%H@vXYA? wJBw?vj%J4q{Bwy~Lf%)>j5?A2A*{zL6yd5ge;x6AiNBTR+i13EegQ@Q0pI6tJOBUy diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$7.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$7.class deleted file mode 100644 index d7b51ee13afd4de347e6c52c2501c56e274795e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$8.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$8.class deleted file mode 100644 index 690800f314b96126069540d0cd4877823be33fac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1435 zcma)6%~BIV5dJ0`*pMs%0)~VjA_U2wgrFiC5F`eqD(Zn0R(V^Jsj#^0re-(33s2w$ z4_;!G2Oq$Pvh3MV2-&D?)pqyv^xu5lGe3WQ{{f(cy)Z^`FN}HImt-M~MWm&)B&7$E zEK8D+Br8cy?&eh#R6JxD-ZU)3eZdgV)K2wJdePLaR`JjkhSe$`WRDnv6}!n9#%hMe z-*(Q9xv1;MCTU_dyP=y$x-jJWQW9rD`B_}%LEM{bq<`o3`G><0$sG9>(_y$}om z_n2Y9zuzB*v5{AmvR}$u7(QM7?y8|8pG19ELFT>*dEmA|Dw?APpK>? zBJNA(LCO#@oXUwV^oGj?gOZU=i0FTGDyj@4*G$rx0h8ecOJ7;hNX+{Z_Vs|~*sy4- zsNqY08=7koI2XdEYI6hp`m%T!cnBzMyUmcgQN2ai#3@!ye#R}AiXOFv z(K0OE^xWtU+_3(~Eg;{pD|E{-T*J0x8h>|sGc559(K)PUU2olbTuOrg?E`&h6&gJ( z@(a)(#TXdINm@e?3h_`bKg+&>ef2CRhz^qllqg~(Yf?rClej}1G}6B diff --git a/libs/org/jsoup/parser/HtmlTreeBuilderState$9.class b/libs/org/jsoup/parser/HtmlTreeBuilderState$9.class deleted file mode 100644 index fc1e0fe45da21cdcd8bb9fc88748955f801b44d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4308 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 X0_N*&%t_7~SN+rpq~SL1BzEH`@8PmN diff --git a/libs/org/jsoup/parser/Parser.class b/libs/org/jsoup/parser/Parser.class deleted file mode 100644 index b40be2cbe99d0e6d15aad2fd6ab938d95263fc3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4602 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 diff --git a/libs/org/jsoup/parser/Token$Comment.class b/libs/org/jsoup/parser/Token$Comment.class deleted file mode 100644 index 29345d9f872e09fbb8c73710cf7ae16293793e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1145 zcmZ`(-EI<55dIE-yR2)eh%H5^w4%Z)rPP1HrYWY03Gt=`qjyU=!L6`Mb{7-hN{vvX zi4WjA=!Kf7i8sE0aSkk%6u8(qGqW?_d^2-)KmC3G5kL{!VJsk{khmnY%L*d6A|b0F zh+G&Nt_t@xVdiCQh_fJ~H)RwhY)QDz5NPVI&ahHF)L-a@wr;ix`>t)6t=*o{ZgRWC z5Nuejp2NVNl5TT{y9|kJu4>t>!l7gJx`nQ8JKQeRtmoXMgh0h=a)wCNF!`fir@`%- z-e{92TD1=Jc3rm(VSCPi`^+G8sbY0H+$3!Ep=olv($*b^(~I<+LK!cC3WmytX}H@A z{%o#JP%Z907`7E7nkO5hc-gf^O)@C^R?j}*dxqer3_I8m87dZWMnw!aR77!BMGChV zmQR9tQxdONCEQk#z+DyhgjhqGMp0hN=T($YR&hZ%{P{fbT%A3;aZ3zKvjZ5C*{O!c zo66NC+-FE-=MAh_64Ob~hRzIouf6Qj9KsX&`aHDb7_o78m>1H!U2ZlR^3yC!)0-F* zXNb??RKzCT*9hHqAMJxSLK?(ANCxPM;T&jKr0q}yqjN!f3-%5^&EJP#dqo}}mW3aF zl3yX=8&rHpoGf*effXdlg4m&l_L!mtT1sO_2xuP=d~$?PA8Z8s22vmLYYG^FFVU9; z{2=+6NPZzwKMC^JM3K~S5xNClku5q!5m`_kApDCuZS w1Dw(ZQ0a)CCNTr^&je=D!}MW&*vUnlr!zsVi;*WN@+R3>l<7|r!JVD>KX*d%c>n+a diff --git a/libs/org/jsoup/parser/Token$Doctype.class b/libs/org/jsoup/parser/Token$Doctype.class deleted file mode 100644 index 8c18e14577765a02b1fd0f438628c77139e576e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1352 zcmaKrYflqV5Qg8=+qPvZ6_A?+D^zHUuoOf^E>STgBn{C(Nc7uMmby@Oo4uIupZuUk z#AxCV@JAWnv#q6ptsgowd(O;x=R9-z`_GSG04mr_BZFB5#WW%)rJ$lL&73q3rI}A* z0h){!(=-*Cx1?ZM!6Si~rJorBW7QM=gRV7ntFG;Nj%n3j`ex(EaMlE}P5-cA)^?5z z%QKHn!{L&9?s~>q_fp@n?bM7nzUiF00^*%OV%@Y%Z&M&zEFDm3%RZt~f7P^%UH|OR zaQ5}X23H2Ec1>>_=#DAB+lw*py~%TwS9Z-iZ!$~Wu`I*cYUr+Oa3f!}ow|17+I~}O z>W*tT+P-~iScP^0`;I$?Yj^_V#Zr%CCMk8p+YJy5G3`18CJZv+^$h@Wb?*j)jOlK7 zQ{ctPA-!k&M6+$m%cg@a7o?DiAv_isxh~o!FSqZgxP^WdS!r%dGk`$_PgIO!RmC%D zCa|Vr9eIJt|059?4o^_9Auv(w0jW?~ljF;W*A{~N><1%Cb;VP?PV3~5ZLBrgT=53@ zf3Hs}Cq29MBn3u$G*Q7KUv`H7hZtEA8KbPE7I=cAhh#^a;E!ZM9E^NK83D^>aS2iW ziOAbaL@yA#3gcH{qRcI&`~}Giq&~AOf)UzDD73SPV~V2FxQha2@BnitVhJUTa#wB1 zU<^5afn%F&w{XByWDB|SSH!*}O&4#ugmi)8C+@ejhN%L~Q*nV8)p(IbK88w{My{iA z5Bavn61~(&N{w&myE-ostgm#{Cp-1`L+j%q^{XNEf;7VP6Cw2*q4m?`*cy}8?my1{ qm5&`5t>#~J7027nM~Gh{o8d4(K+)iRj5BkE-^eD3FN3GgNB;tqqzI4z diff --git a/libs/org/jsoup/parser/Token$EOF.class b/libs/org/jsoup/parser/Token$EOF.class deleted file mode 100644 index 819847bc5ab075d4e74c51aa20d5744a90217f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 628 zcmZ`%O;5r=6r5LDN^241OF&R!H~=vsXN;N1CiZM(`;P2apt`to0+ya%^$FI6>k7X&vx7h|SQ&W!ZF?Gc z%Xxcl`+@M=L+@U=btZQSnlA#eAe0-;2qKfrYj5dKMBkAK%us$fwI6K@ag=rJSg=sF zu!|}iMQ=wa{J*GUk5Fwy1gLkq@|V>9*Ve;0!>2h%GuGz&QEq=6{xEeB>WUH89USo) zX?$>i!fzZp2nn8@a!*{7EqVvFUZK1p_7c(z9ybvKC<~2puqY3cG3!@=4PKQ`3h9;E u0at0Jw4UV%=@6F)mDZHXN~vHgWMz=#TIQW(L<>cfxJNp{cS}R%toQ@B@rQl@ diff --git a/libs/org/jsoup/parser/Token$EndTag.class b/libs/org/jsoup/parser/Token$EndTag.class deleted file mode 100644 index 0f785aa4d568430289d27492c7540fa6f0ad1d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 778 zcmaJfgc5Pj>I*m0LqLfeFp(ht&-n6_@uR1u=05>mvaQ6-MsW))oAwY7GT_*a0` zR4NibpvS_2UxPa9SO`(V!81GK_ukIT&egBWZvb|&o-qrKH}EM4C#DvazaTl`=+8htyb3B93Q2U$zauh}b zsTr)jfMXL|9NVZdur9|UY7PR1rT^B*(3tW+Z@84(m1z*uZ2x0Il~?l0C+D?kWBHAt zzU?gMl|_y}j`e>A(N2gPlVn&|(7hwJu zSm!8x&QWt@XHg=1P5bkm_&;#pASZZKu|N^sh+3g_P-r#3!hU;!JJs?Sjz5M=u38~8 vhWCj$7L0Z|*ZKK}X0y<=P|r~hF;BihHO!zz&t9jyTX<@_wDB!;Ues>@A}p;( diff --git a/libs/org/jsoup/parser/Token$StartTag.class b/libs/org/jsoup/parser/Token$StartTag.class deleted file mode 100644 index 963998fd1e2af9b98cb78d9a98a8f21e9a18c742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1452 zcmaJ>ZBNrs6n^gLwystfa{^9;fuN%>D&h;efxL-gCW*2jek{<;;^>yPGtr;mkMK7j zaU&7K2Q?-Vf0Oatu0R=^B;0%MJ?A|4dCocA(ciC!04DHE!eykx7?%)0I)XUV2yS75 zTerDyl3RDU_ih;XBuGe$xX2682#U3DzOEM$DiCP}eX9%^h<9No^eME0=}I6Rko4w*sHPOuny|MwEn zbV_wb3~`dw1TE20DXElJOBHKVUov>@CAVhd979GIx)~CuWo=X`;|6YqF)O1N^D-9r z(vJZdix`&i7)uP@jcn#CMsZ80in6SXCwMAj2qSb#%1F5e&B`)E|LLnun|X%UnFzPF z$rkCZy8QbxDUJB-L0^H-g7FFB@l+?lar45CR#{Mfq`S4VB97~p_NeM1z7KE&7w z;vlYjh%YIN$IHrS6{0f6c{XBwC#)azWAW3)O4j2~u=sooyNumwBRs|j#l!#To`H3R zbpFB=-)e|_!uSCsD$IqLT*F1BhIZOw9o%*!qWsuNOAWEzW}(Nv2Hn5Wi6dn3$ESO} z&NVtql~g=lD($>UL3;Yqso;=%x#vp`dO`yjb)Oo;HQEzYggB<@v+AK4m_||%X&$CA HH{0_MB-1_! diff --git a/libs/org/jsoup/parser/Token$Tag.class b/libs/org/jsoup/parser/Token$Tag.class deleted file mode 100644 index 8d2098494435edc770b6853298cb21f6fb924e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3517 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

QR z325GvJnVsp_i-DTZ;LbRd6_HDBh@M|#N+IRUVxT`k6)h1R3Qte5u$Jfx?CY0R4K}8 zLs|I8;rC9UT;z$cEJ~(|Ybg>}>ta$YkyjRp6Z1<$Em@Ri5h!pLuxVX^64GDbsWi`1 zDK?^qVnkfd8G~e4#4QfJgc$>;VNhyW0bV(uvZ$bIY)2JzmDBB@mPSfnL_ZYtEzav( zjH_I~uw1+FuO#)h_e6)yL5r6veOXjaWum)CXmws_bzbPEywDCi2F2MF+Tsv9bE>$_ zMdEVK<}0qa!&0JMj2R;I(Yhrqo0gtk?`_wD+T6!6XK7HoWVIfu)3c}=hpwGGqN$0= zKNUrl6SM=E#o9g>yBJ>sBf@N5gKvYMbs_LaionmygJ)0vEK-9Pl6udyQol?p97-;Cxvz4tmf4JG zLPsGpohooYX5xV&X;pcQymq+K*3sKyd9`h_kh{~CHBD7|ut-!c7ZsyCS4Qq4FewNt zZC@Qn*-NMysH#1U*{_Jh)-_15JmD_a$+8W-;auoWus%sQPB0vwq8p!P4n2croMc~l z*2W-tL_K+zu5?{mYiHaF+nKy*xhCGn(-Imh#6-6;%vsmqc@*<=es0L3zRyO}>V{V9 zbELQ7IlksJi#c{RIK^7QIK*i}I)kOWi7n%OPwHNXD(0gC*E6*R+=@K76)w0kw#q$R zmq_E?&jF{Jcv|YrF+%aIYw@zh)b|m@Tz=+dF~41N+&ttafNui3g4#HG1bVByl(n5Qbfs9wKYP@-jiYE|;{7vc_{6 znEdnfHaWH86XN(i3-TX$jrn6yU@gldTSjD3mUV`ogG|x3TwrabF9k)p_-4T-8NaY& zX@NPXKmLt&|DDYJqew$}UPHNSyN>}cHyDYI==2&EUP!|~so`JL@bAy8VK4T%@wb{5 zl+cEwp7ow~&D*Yf+kL|4I2dVrIJ@W!7OnONed7oOeU-Z(#j-koJ=d~WGLGsax|-{8 z>b++@6SmIZklXVe(IL2P804;)3zzNpIDC}(mpJz{&?OTQmRoDr$6vB-1W1P%BVm`xH?Hd$6mmhE<6TQ5mgd^7-59jB z6O(_bFI=qb`;J;gM_r0ibs4JFYRpz^ZT&Tl6qjlbukHt!%5s%B$R_Qyvmsa4Vu=t@ z*E)Vq5u5z0#7MpDGD-?u*eR^8U~qK7P~E6gR~G5aT|jlFwj{3TyfLryC><;Ib?0=l z=U*(UkE0>vds!dwR<7PQpjGbKHlSCwZp&iX6igp|8m4QA=~^sRTNs>Mi!gP&Jm};( zhv}xzgXxz4AJcWjbUiWcAtv*GV7fVv>9EUFM-fjg4o|fq-R7y)!E`=FAAcG}dkJSB zmZ%s*H(ms%BTv!VJVm$U;d}e f36#^6MR`H0{bN?$Y2$XT(}pWe;j5JC!Pou^$osi# diff --git a/libs/org/jsoup/parser/Tokeniser.class b/libs/org/jsoup/parser/Tokeniser.class deleted file mode 100644 index 4e804c8f44a3b5f7d07a787597bbdbb07c1b841d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9210 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 diff --git a/libs/org/jsoup/parser/TokeniserState$1.class b/libs/org/jsoup/parser/TokeniserState$1.class deleted file mode 100644 index f8c35de9331ac4c69f78325703c60ae99cc61aa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1414 zcmah}+foxj5IvJDYzT|oBLd1*%moObfDpuB0F4zvB}J7lT0=61#blS7-SA61_@ob^ zN~`<;|HI!9dqxV81lX$CIn&+Kb58f{{`~#z2Y^|;G%*$i!+03?G0}o{JP0F-m_l)d z63Q{D(3FW}7-7t+#hfxfROpe3d4}c{+p+yshDbDbz>j#c%$-tl$CtKKN@Zia3`WK+ z3WoNa?TD>vWlzXF-z$@)E9Vw?d6!FDtq9P|#1P(btFjx&^AuXsv^tv#x8W4Zu1EEJCH#Gt1PkR#kQ;u(JZ!!ewt#WRtctX$d zLZK|fNaJl6+QP8Z=wj5@=6~(fPt}Iuy8M?)$Y2(#QVNH95{$+&41E_OJ__;_MAli? z-5j~;RO;Lng;0tZI(hMkQ^LIDj%WL}>(B>u-EGr-)Jn`eFKr(R+R!AVbSarxa2>B& zp}rfUViSKOno*h~b((c)v_5hVTy>s4ru8i8U%@@mSfdNv+n^({-SiB7`iy=KK!8RE zI%(BKXbuK~G>77eL3V<`7ah?}?`9p}f*!(_#v%0LHm!g@+&SC-i*_4isZ7=o{H&dL zPm{8#Crx95#w3ju8VkVbDb24FUt!eHbc}gI%^D>V@fyqoWeU~Ma*Tn*cZA=aptT0; z7;R*4+e%E;aO)q*1+-Bz3p2QdMUuEo!q!OGI?>J&-8YCJPjo*J;XMqXgh7-sq(#Mv zWC=~^C%Y;^BcqV8(R72Kof0QrY0B7hN$(rjp7gisgR+G$2QL_g7K;?eg9a%fs2 diff --git a/libs/org/jsoup/parser/TokeniserState$10.class b/libs/org/jsoup/parser/TokeniserState$10.class deleted file mode 100644 index c02b0f098dc6a0e9d1cc7a81d438c797c8c81bce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1624 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 diff --git a/libs/org/jsoup/parser/TokeniserState$16.class b/libs/org/jsoup/parser/TokeniserState$16.class deleted file mode 100644 index 906883e455ea50f0a319b1dfa891007aa5986219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmbtSO>fgc5Pg%RacoRK(o!gdwrPFnmvGVp5=vEqB9I~ihbGE>N{3yiOse&LCK5(#RcKqhO**E*+=eO?w>e#igfX5~Zc#>or2A&#tMkt>6p|4K~ z>wBGZ@kzLW2uE&LD?c1H+WUP%p%o1!VX5PX^5f)kAXQHc0~v574k+o-ZowgH5#43L2x!mIlhHGhpi$8_qcE5@0)*77rZQ_bpN zgDl~BGLD_&T8%LH&!uGQC0naz7~s^KHGaYi{G@>#e?=G|lsG%)dY)tH;IKkBpf4%H zOfdw|2`tWSMl%Kv@Q@?0h^4#!_uQTIn}}xW diff --git a/libs/org/jsoup/parser/TokeniserState$17.class b/libs/org/jsoup/parser/TokeniserState$17.class deleted file mode 100644 index 3d5fcd0aac72cc4df8d8ee192c22c4686fa2f599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1254 zcmah|+g8&+6x|0ZEg^`Oi;7iRj9LgbfGA=sf&~;U7i|~sLpqdTn{-W5f5``*^r5ch zgCF2WxjYH1q7>m_axQZ&`|LCM_4~(90CQN;Fo+2aX=F4^;$A;=7@>AQfd`>{7<#e^ zOocJip<%``6UQS$U%_#mV3{zMEggwZ!m10mW|afwxV8M|)E*&L^s16DRB~Lo-D>Ph zRT2Aj_9RQ5E$VwhIiY>xj0J~|PtZ4ASE^!N_`YP*D0!-89r<3XX*GrNrLrpCN9j7O zl>-q-V{S3et&|j1!fN({@O<}O@lYsX2U30DbgA+oY6=Lc?$AzG?na6**&TAW8bK?2 zEoI9MC!Bh?Qz8PM3rS;k)?K^q`ApiD3=X}jj;pZZnALeb^Km@Zv4AH!o?=nQGb|B$ z3K<>Gk=IecB4a7&co9Y{ht}lfY!N0d35w$-Vd=cBcF+9pOvYS9VY;iq8EOb|+jIR^ zgK6o_P8A8`T`8T)gljghH;@(CXufJ497v|0vv^k{Wm`GTU`+&K-K|zcZKo++Lgq4@ zyhANe!u6fN@i@V_=-ouyisp*RhQqI8^c-qJG^2l^@omwRoT)gzzvXtO)lOp==l_R3 zdD|-_EG2+%5$tm~nU1coun5*Wjc zll(T<3-fnpSo;!P@}oNLl3_W`$KsPR+vqjFA=bu~&oInnUmJ0@6Olb)Ci~gu8XEfs z*msH}hXKY>M4HxN&<0F;jT~)af!-od@32f;Sfg#cp&jhd`v`CP7*hxDE^gvhG{Y{& daXZ4CicsFcU6!$kn-SKMe5bR-N&>lK`3DoHHCzAy diff --git a/libs/org/jsoup/parser/TokeniserState$18.class b/libs/org/jsoup/parser/TokeniserState$18.class deleted file mode 100644 index a45c86d28a37949bf8873e4a7f1806fc8283af98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1236 zcmah|+fEZv6kWR=nKBH5T(yE+Y_+AxQ1Aj44F)kGsl-@>NaDj`deRQIGvv%czr`=` zSs!ZRgCF2W8TX7$iIl=aXJ5MZZS8%2|M~d~KoQR@SeUXfjXM@*Fx!uQ%thLK3U?!! zi9A^o_e|U;^lf;)r=Jrha^++3NjMGR*PM!0o?k2N?>z@muZ&x&V4RbxB zIv2&EmR7rOkPiOoB7NfJW&br|qdQaUxY7-kh$%*FUXLoUq z&1HV17C&ep!M_36VD4F4fq^8;)Iwp3et^Eki0l0AV+5#zA=V=_V=#;nmcS^++VP(` zUlgBRY$5RlqlIJ($%Ddo7%g1;is8aYUkfJNDYnm&r#U_79ZcHCARS}QG16mo6p;3<}k)L&nzKUx3) diff --git a/libs/org/jsoup/parser/TokeniserState$19.class b/libs/org/jsoup/parser/TokeniserState$19.class deleted file mode 100644 index 63ca0eeda83e115fb984fcfc61133c5214caf5dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 933 zcmbtS!A{#i5Pg$`BzE0W0;MfY3jrT!sc^y#rK+d`NT_KK4dPmDoK>=5>}b8|f58RR z10TRgA;u00qN(tKgEh0`H}B29+3TCXR{$DVvoV9$77BQiWN%AYD&ZZW_(g@vd?hTd zw~xgi;RPb>dmW=y*l!+uJR%fYQBM+P+bWblN2gt>4@EcNN~In7A~+ISCFi?h!3Q*4)Sn|>9PXB8S zgciP$`WLrL-Atw?L#R$eC#tMQny@+z`In7gccPK@<-SU8JwKsH2j5IgV|VsKKZs&B z?T0jjsOO-F_YOW_*})2GER<~kVL1a-!YX0=e~X&F#=|k)M(T>)@wFP7U150UT2>Q# zWDDPyaqMo@>xAwT_mZiXEUuQ}f!o-r^DCa=R}JL&E20EKnX@gf=Q)-?ZB*$3be1Bl z6hi?0hRwOdXvW|fo^u3VVD_&6J9j7j*2d>^A{|+%LrRxwwYbL`FlL; z0TT~iP5e>DH`@lQXgTbgH?!Y+-+SMi`SJ7XHvkPZbFfg%;UOMrv!=~@7A73+ZJ5|J zQDVqE4P+2MV_2zl&iH%o4Y}-l-B<;(-`cMpGZ^i#Cm0qxffR@1(Wy{J{B%es`A+Eb z;W1Z%-d`RX@gRs8?0qSPY7co73EFOULe=-qqHuifopTil813CVMO8`hzOQ6PLkDl!DEujnO7RkC>JX(qaY4K$xyoPUL-?ETA8b7V{ez9fkm$bNYR%?4h%QQ zYr;U9R;%U~*%z=+3Bo3uAq3#yCRsc2E!@Hq?SR|JU&eo+XoF51m!&629oE0Yc9+T% zq(8!P>k}C6XDm#R`JK2xseuv|v_&P9afdF-DymqgYof_&7YV0i4weaXQOsSePy;3k exQF{hou)|LQUMQWHIfz=$;&4wa`r4@N!DL(j0S@M diff --git a/libs/org/jsoup/parser/TokeniserState$20.class b/libs/org/jsoup/parser/TokeniserState$20.class deleted file mode 100644 index 4d2ff3691622d96b92576c8b4ed3731f806e7984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1096 zcmah|-EI;=7(GL`EUc@vMNukRsHjld@}piDjH$skX@Xt|>4kUGWn>p&m&^`*7oWgu zy}-l^AHat)ezP=GifUL#EUo@H1W=a=%~gDCznA=5hIi!Dt0N!H{ZuzIZzsoeJ6Ir$gG= zXa^1-o^a{u_4%fuTrXs>k9}Xr){uvxpk=Wg$bNMY29t4h%w;HKwHtgCzDKB|xDv%i ztw~Z+@E*gf(iQH_#eXfAOYSHk-_da)n>uQy7;=lQb5&Afl3{z%L;>vM#JB?DS{GMTR;mn+xe8kA39%xr; zN4DcgZ>(N(#ScS=j|CM^(lT@z3d=&IUaj-q8TTF0mD~?KH7Cl?YDj-I$g=?VMCe(m|6|#w)N{)R4`x1Fvr*E7*zDqmqtvHBSnq4*T$1#t$eMEn6s)<=rD$g%oJH((VKwgzph*E3QPj z?leeB3f^USRk^~w5&zfhbIDyLlMGvNm&g(|iU)GX{^*TNob3;S>^)HQknhf-MF z8ivgUP6nPbJpb1S;|2a*K-r1H~u@qaV9Ix>U)NbSj?Q7e8kYB8E97; zN51V!Z=?>n;zyy&N1}Vk!@gb&r9~;ytX6qZ)TB4JWG1ypX0* zsy_%y|IdGRD4m0Sx-c2KR6v53iEE&`UZvo!%+(0P}H!u%$6E zWU)#XSi|~xd_a6UzO=KlJ4NCX)@vFp)xIJ*#qwvEgi=!&7sNR%6Y&Tc_7Pbok!K1; tHi?9aGqSl*2{&;o5-%Z#+mYBEl1m_u4YJ9osFf(C1SLq%K^l){_BV(}7iRzf diff --git a/libs/org/jsoup/parser/TokeniserState$22.class b/libs/org/jsoup/parser/TokeniserState$22.class deleted file mode 100644 index 45dd8526f75a80ab6833ddd765fd3e435860c5ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 zcmah}T~iZR7=B)ourXb03_>f#4=}cYfC020kQBiX6b;ldzzllf95+X@Htc53ZW!$c zB9yK7Z;WBT zVtWL0-f^VLSB2+E-X@E#TFcz=+2qi3Es%soBRW|6lEPSDRY$HV=pU~HyW~U?WgcM<*-DP(rLagN0l_lqFtw`5S zih$G^U7M9FI9Ap5SkMLOS6n7|Vjne3B=C)a2@{jZ8pxUW7E>n9W7@=wMi-DbF^htU zIc>YBZI?8f*XS~?m?&aFyDTz~eX6nc2EHRq>@@-H8obLfITpx$vaQB0sR)Mc71nG1 zJwhloc%9JO7P6C>5S8xjf>JJDL-Iq@5a`^x@Y&$P`}b>@FE{2Z;dr)hyAHQy)s>PC zj|8`s=NXjiHgCeIydI0WaY%?AQ0l3N!T}S_>c#ZH%^2+f#myVA#5#^`@O~ke_$>^g1 zjp}qJr#YBTe9SJ}I6mC@BC;Bak1Vf-YdbU>wTWE|%S9c7gaijJIgi zXcQyy0Ut2&!5`p%@^WUY7^%W0XXczU=k}d5vtPe|{sLeSsUW(-ARG%Lg5zPFz{zSH zKvZ+xTGykwnAY{`rB93f0pQ0sEyjZwAXJT6w&jfznxg3?u`1#PVdvr*Pg!;@G2J~! zFp|!qB-ErWTV7vTUXW^5EEHH%pLVjMFej9y#P*xMWI}&;gyig+RNj1anQYCcN2&YKv=1rrlmH>sD4`XGr>2CzqXZfp=!gpq%Z zw;cT6pdy2QFFVR|?C238Xt}B7qIZuFh<48tTFP9uBNIZ>xsy`L;r>T<8@1n9zXD@Q zc--C2y$a^3hCL;0*YYgK=CZPm?XE2IxVS8ypdptnz8FR{sqaX0CabKXr(>twtSHLG zDdFZd5!%Ym($aOkys$G?jw4sf5`elgJ1+D8;7gZ%aAJTTAn_{(Dwt|e%TgV4LomQE z6rrA2D}6%6rf*TtYn8UA`)FX^^nF8UL=#KEAsjCGQ-I?ctXb>bLf{E%V?A3iVjoet zg{n=~1;^Vqw8sr5okxEOraq=FrZJ|$Slbpt>{QK8>*!}L>~j$vZC|Y3EFJInl{LSu zwfLvpE8wE(0fO`pCOtv}Jw_uvMKe9a7(K@%y})I9iL3MqGxQoa=?&)TEpF2~a`X;M z^d1gvV3j`jkb6q7wjr;f87+Pr)^G%^47(Y((1xQ7D}Z)}QGpJ0@^1K62brs9-2vV) K5#ryczyAakHcoB; diff --git a/libs/org/jsoup/parser/TokeniserState$24.class b/libs/org/jsoup/parser/TokeniserState$24.class deleted file mode 100644 index e28324040206ad2b89062abdd4227c6e2ba4abf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1366 zcmah}SyK~15dIn#65?vOM7iWJYDj=^c|ZWc5UVJo4}{`DUtGdS7L(o7>_$spe3Rec zFW|uk3$)O}l2Xf~r2I=BJsX6QC~Q^Fbbr&`)BVlN?)==^1~7=E58VL}&IS;|xd6`N zLJdwJth645MU)m*Sg#uTl-XYi{Q9BHm=6Pl>T%OD-AO`IIJIItFk(5wT8^b%X*oQ zatUqau6w)kZX^lauHGo56<;65T$hI?)kTFOH9G86p5zL%8JX8uEm9koZS zSAjNTxXf+HthaSsgs@lob}`Ey(>XdOPg&rMF1YJEUnF3-lg$=mQq% zBLscI3VlX_zThE!#bf%0C$xj7^xdN(QfhaPid8hD#iM5xt!QI9nqi?GXPDMXbZ}c0 Y=tLLKn&)+rwR*-*@Qf)x|3|&~Hy&S5t^fc4 diff --git a/libs/org/jsoup/parser/TokeniserState$25.class b/libs/org/jsoup/parser/TokeniserState$25.class deleted file mode 100644 index 2380a21d5ce61b7558c05cad7b09ad7609bded79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1667 zcmah}TT>HB6#g0_6GE#21r%8UWi=Qif_H<61XMKYt_gVE)n?MdXqZX$bo96Q3w+kv z8ZE8zT^}s(mX^Q8^7JGImmoZ3&L!XJbIx~8_p9&EUH}-zTnrsZ#4vz8F(fhAOrO2R z9Eu@@eKABaY+=O6{ZSk+@}T(~GU&t2XvYzw9W^1xjF~p(sL_raZOp<63*!t;qmJw7 zF@}yr_KvtGQbpm;r*c|3?tFTBV3r}0@d}b*W7cuyh4SK@RCzI1Bu`t`vqf=MD96}U zXGAYJJ_Db2U8yof;ro)z{;a3wQ+Ir?TuPOM@})}Uy}QzNNXu!VW&g;*G^J8f6c|n> zR)MGM|H~{0C2TF#B?^}+ZK`IPp}QVh%SzdpV%Sj+S$-NrEa#P#El)Y7>rJ&I!or6P zX~fQyYZpDANINg}f>+?^#Ds+m$0VjKoZ>i*GaS=6%W)1_3+Fj5;3CIg_?w|~Ir9@` zr%0WcQ_fJKqXu`0BZoZ43}!hl;|j-BT;sTo8yx=_a|Zu%+%(!PT%*?3rktT?4Uh$D z?&wOZQBU0eiRm8>=g?c1U>Uy*>lcN#7o?w+nr6t*m>8h)yXpdK=QG4@+7vDGa(-HK;rs!{httQR|>r6KJ4cC$@lLD`_K$ppj&BPqLdm z0eci8y6D?P2(Z`KMmje-y`0_HP7>%rZ#DiUMVokgFhIit97_ghO#X)mnd_dSDS&l3 z`5e)!Pte>J3(#Wxra0^d<2ld6CGVRt|N>SI!@wL8+{^5jOrLe zOvgA*E8Q6#aZI$K6A5KE8Nyjb&neA$#a+;FQNtyM)@jSOycvexNP3;W;PE22^YM%) zEjyoFjIJ;QQ%+7W97tQXSgw?w3Yq0ki=^pJJ0>r#aA_&IrVM%o%VjVYZCl7xk-M%S zF`RZ}KECccm2$kyr7L7S>pT~>MO?P5zI@pl6(lG{tpGRei7?!UujvHI2HnV4Fq9rKT+jui)ei zbmOvyq=9K%(J*6R7FP|-BW2(k7BpNpa053r+%j+*X#-1G)^NwbUEDKp9~lE#JYWb+ z#|^At)xblgd!%%ud-sxIXb&R|YYbC6&AhQA|5hAM_zfOzNbq0d7&=PaGYi5^3y+4w z&=QGK(*6d=dVGdXlUBf^Wy;?bc8=OfUL;UGk+oP?ztfE?7hQ2K*n^#!-i%xYjGVL`X*(Jh2#*|jsyG98YT$7hYZebgqktSWN zpCV!C;<*>xHbqu)+qFE)vFU_&J4*i){Iv**l0|Lp*3t&84CAV9xv90bE5;wBM93(?S6Y>>SJd+l5F(6^N=z&@jwcti0Bp$|uh z0{s}M`EO7>#rmaJo#UPIQFlTWLLq4ow f0v5msMu`Uf@(&Z&PoAAbF&DyAjgDgxbHUJGBh9QE diff --git a/libs/org/jsoup/parser/TokeniserState$27.class b/libs/org/jsoup/parser/TokeniserState$27.class deleted file mode 100644 index b2960da74cead7f95b9033b7a88329142cb037a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 940 zcmbtS!EVz)5Pg%RN$eU*Q)mkW+7urOML5X?p;V|S6saO`AXV=hXO(O*cC@?Uzu*Gm zzz6hKs`e8QW2Xv&Abj9p&FuKid$Vu$?8mq709tt9VhI}#O4v-Z+ZEiY;4Y!OuVQ7N z6V`Wor{bdsA`y>*zSSxob&ejM5K7%-C#USEJt(Sx%IuTl>=c{7L zj+G&JM{z85HxkB3KKi{xkAhQ^OeeuaXd`uSoV=H@;;e6lm45qaho!U>L&A&Qf51D7 z|GHzLMQEjd$L&&g(y7T3>Wk31Dyxwu>?}h5WFxr!WU52?N~O16n^R@3^hw$ugi(0(K?_>I{%$3!CsMW;26jmIX zP)sDd-N@@@t6UL=(ip$pY!U|lxt?6TbbpN;EBw|$lOOXEKW?DFUl|n;s+_gCUgTJP zv{$DupiddX$uI=aIb6;?Ml%M>xW*Bfgc5Pg%laq2FVrqJ>cXj5END8fm(fPzp_TBJ&$2U7LEbykU6V@K-^e}G>^ zFCY&50DcXEJ7U&EsUQd+ICwtRZ{Ezl(SG^y=`(;9?s=%-`aI@v!F@+TX?>!o8Is+W3!l3ct3X&Q0J+#CJpJ3YX7BR*tbQw(X0;dU zXk_-Jk$dTwSGS*qa->-JMiB$6wscWFt@C6Usx0##H=Bfa|GB-w843Y*|BV6_{nl=i zA47#-2vFkBMHPg3j&|Un%)a_yyG|cK?{kF5w!#R|S1fQWY|J$Rm)Qf0xH73foYaf$ zhvz7rqx=!h1&3$5(Kjs6_nc=v?u8 diff --git a/libs/org/jsoup/parser/TokeniserState$29.class b/libs/org/jsoup/parser/TokeniserState$29.class deleted file mode 100644 index 5993d3b9af65f9fece2d53eaed43e3a9332e1eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1509 zcmah}ZBG+H5PtT00!Aedsh?xfboO; z4nFuvKh(q+e}MnTXnX-@4@IR2ZRYlwo!On4XJ_~0#=8#yMlfgKOcV@fqllp|ihjiF z(S!ko1{E4oD50#wAz<@|Qb&|wRH1Xqa9*Jc1}-wxrEJIc#~IpVxn=&8C(7JeO5}ZM zJ4?ywz6Az7;}!)&W6pNOTxI2vkOlszOfxMx*W%>`E^Vd%n$-Q0?J=0sjw58I%so$# z+M9FbQexS2E31iBElH;6;XXY!CNjtu0gHl3TuzcWAkg z$sp?@_qockrYHvHGj!B$vz-xT!X(3~T9=)X$k8InFhuiiMOxy9t(a-u-YO_=Naa8b zPC8cE^@!M6;g?)0^yEIQm}tgj17jwxAZZ|F;wr{XT*HKkG_IS-D3n!b5;siTRA@@g zO)GQ@GipVSO4%n6(QjauVQjZ1sHNfG@_I)C#=B}_>|l$*uqsjthv*N*`iQh+HA}X4 zre+W;HhJo?j5^Qbc}v=>ewI!(>sF}WCOwO~C5G<(a-<_|=EbMnu|z>~$FqIg zb*L}*>a^hOg3@~a6Fet8&o6N&Z!ghiVIieUePjFz6jVv6M}+%$a?7Nv{Ha;|zj81w z*YPSVqTr^TXX+l_&-CrqwQakcjbf(z|0Hf*t&xdgy8Vn^4?rVnMhj`Jghru*-Uvkc z;~nfRwAX>hA^O%SfA$G&gw0@W1noFN8gLZHw$`&Agy|2g4O9^t?|h}KHi@nP{ia9; zN%~1rBxCd*ZPIuz-dTkne}ixpb?dnOTQveT9q+FqLR;3yTcYH*j)aWy1@;Xo_8r&Q2C{4u zGsMQ6rXjC|a97juKnvrcW10v2-vCoN`sUp^`Q9;xvtV;B}Z#3(Ymrh=~X;ZH+$x4AXTB diff --git a/libs/org/jsoup/parser/TokeniserState$3.class b/libs/org/jsoup/parser/TokeniserState$3.class deleted file mode 100644 index a979853a7326237a625647cf34799c3ea4ae0c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1505 zcmah}TTc@~6#j;`Y^^JoqKJSfP_eX?f>)q`U;(KXOel~vzBq2jcCqY|*{zAb$iLyi zCw-`i8h?Pl$=jKcAkqq(%+5J;uHQK`=iARuUja;D)j%u)hHDXw;QASKARfUe5{gPH zDy0NB0>G~yiXAgB9>H1MRLm_UyRE1@2JSMn&e)Fa&oOkz^V|FtPgl89P8WP>JLODn zbc-RFbxVSwJ#RZ=t+w-A$PNCyN+;30Yw_w9m$u>$4ugKh_882Z;|Q6pa?caQ4(DB2 zPH%f|Z8yEkr6**1!+j|no2Y`%eG$8rp-58j62n6L1no?tEL-7{TfUI%WG-YzCtcz` zS1C4NVqiW)f1{hjgeVgx8HO5Fjz?mM6x^D$#Imgl(sk%UV;WPjsc=hyVkccW-As)o`X`CJ@I1f5 zoq}B^+mMjbCBMdjUyVY&8?j>(q+mR&E@XE@8FaN6`u-PMM>H+h@oGC_!(DJ*t4I1Y zJKF3{Uue=H753ByPt1?g*kCkRfEHSvh!WRD)J+6IGX&v8vY&lK%X_VHp8l;`KZOfK zo0<-z8$HAUm(Y7){~aOn0PLme2)xrmJflsWsc)Xv2(1*Y8CrK~Uj3qdJ^2B_Izszc zA*xkVbIC*<2002Rqi5=f>?4)@jI+g$FzYzCkAYO{mrya#F|t_S+I)_cYqbe;VU7MDG#4Y22pwbO(#X8&ZO3CjHq zq3T1wuFT#c>OEY>fUd+IuHY(FGJrv{Xu%MMX%A}IMWT91(m^}s!!(l9lt~Xo*Zgl} Csds1q diff --git a/libs/org/jsoup/parser/TokeniserState$30.class b/libs/org/jsoup/parser/TokeniserState$30.class deleted file mode 100644 index d4dcada27546782154d17fa544a75b347f4b18c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1357 zcmah}OH&g;5dLP^kPw!KK|mhi86giK1Vq6g4+EBH5P1bqkUjL=S~Xi0 z%9AR)d4+qvaj#GoN?5*B&naB0ysn!0417}p4~r(2aNk5;qh*aAXtbiyDi*2sYcf+$!&qZj`rl+5dH>5Nkqg>5 z(s0Iw_ArDk*YRpc)RLxTin`R_5OSWGCM=I^nv9Vw=phZ4EM-^y4dIIow?>y})3ZcX z?r#XMtc79px;kl&QC|tivwhoj=%!tDcY;X;yv8p%xhOr)FAJw+A5gN8RLZ4W(tC+F zLqxi-H|tJ@ra={7PQQNBb8EBo`WU@lfRnVNgS1XUb1*;;6_IpikbMRJ9C+NI|7Pva zI}syn2C)%zp_??I2fg)p)=K#dvK&vHplK!kN$*xjv`zmWlT4GONtQ{L=%a8->&s01 z1V-iyLMLech=*rtI8f&^=@UdUv6i||G%yZnV=IN2f!c8vqIdt6{X`ecV+ips%<^t5 z@E$DlUaayyZ18?OA%53B2Qz_`p*E^>m%yIrU@Q sLSN91WAtNy=!ftggNRcbn=nMwIEFDos}XqJBorfC8?9K2AX{I51MMJ6KL7v# diff --git a/libs/org/jsoup/parser/TokeniserState$31.class b/libs/org/jsoup/parser/TokeniserState$31.class deleted file mode 100644 index 36fe9274e8fd0b0af4101ed4bac2251dce4e323a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1360 zcmah}-%k@k5dL=C(o#=QP*4N`sahyd$`2{D)IzC-q-vyun3$L>#|nq#uGza9A52Vq zG4VnE3?6*ahno1{AK?F_IC~WcRN<28elt5WJM+zMfBydd13(IkVGKsWa4U)-#G<&3 zJFU2gyBftc8rEne037_%YC@}{8jXc9&d`#zY|G0rbj3?M;bd(%ZRMv&EwEou^^tLUR!C0|vsR|Y0x{}mb$x&O$ z9oMN9jP=}EOp;ZkLE)y!k) zZFW66l}=-dXlr&kosAq#k^)1t?9`MgA6UBk&ZAU*1LK-JVyS4G6~`s=9!YQ8p=SEe z>D)jYCc;P=n8Z{V(*|a6&%i9w2IeqtAfr)MqXms}8r?^lYCk74aT-RRVeVg(ZSMPI zKe3cg<3Q6Hr|4k_n~v?)c8QWee3)43X$m>YOcR#77ELA?FX$l+l}%+;y=CEvWv51$ zsOXxaDmP2gb-it2m#r3EQUAfGW?y<$1i}i+IPE z@SZQ@125tef9O*((rEjLl096*b)Tj^^xy{362eFHqL1he;3l=o(T@RIgT5D4MR_=l Lg}!_Q$;SEz!_7%l diff --git a/libs/org/jsoup/parser/TokeniserState$32.class b/libs/org/jsoup/parser/TokeniserState$32.class deleted file mode 100644 index db04f9939397cff812e1a7d3d46304f1f83dc1e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmah|-A)rh7(KJpE?rhzK&c=|!Bz`JmKIS-jX_IIh=my1aN*ss9q3}a+ssb!S$qPo z^`a(T_y9hX@tcKIr3e>0-LtTezIMV-xzpzUu~S#l^N-6rO9u?GO3)Mx$(rYjy&&DH{W?3{!_uj_QV425(W!3W`cgzAbb zkzFs9NlFUdWO$Xof?gi}S7~v{T_xl`T^F*fqh^X>c9=R)B{e1)7KbSpy)jtzpeJ4N z#?x6(4qQZmuj-;vb*jGG4niv0u28L@X=4maCYEg!uwvq|ja4`{)=;!j!n%zo*s$?b zqi5KlIIgb`!~8WQ6VDkoFYDuQmj7mvEk;Gl3<+E)27}q*%5CYM#`2Y=_Y5;bcLuJB zBRU>6LQ|7CuX{&Fg6cn#*FUD~uJpQUn=8H@^k|r>q076X>eDbRTo*fa za-26$x$laGVA!kSGSq%c7in8fY#`ya`lzMor3Iei$PkS=I2 zQs^UA_=+2S#6QC#WcD%o$N3Dohw&B(qlTohi%DY-bH+Pljr~Y4bLMm)n8O`RMM30{ e#@$GCnq&>k;2zmnl-xL>2|7!V#nveDXZAO3TqSt` diff --git a/libs/org/jsoup/parser/TokeniserState$33.class b/libs/org/jsoup/parser/TokeniserState$33.class deleted file mode 100644 index df7baccac2e707c1ce2e6866c564cdaf61bf3755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmbtTO>fgc5Pj>oaq2FVrqJ>cXj4p8D8dOjp&(S07O7I`p^3tI>#P#D#v83S`~iLu zy?{9I1Nc#hSres#AbjB9o!Rw!Z)V?UzyJ994L}pSKFYYgj3wN$%U!#@=b`4|K12Cs zoW|xA!^U3sTzn8=BGOUVGdfO3?c>J-2DhVzl3}$Qr}AX_{!Hq=I7{fH+EtNA213Vn zKRa~IIL;XOahgiqNko=O+6G;vN8x#<)Ko|EO>A$yK9|TFe`ZZ1 zcaG91Q5l)`R+_OIa(LL{*hZaW$1V>MP_<$g7`6&P9v(5g_}jD=@A7-EK{K~ztrzKd zVh)87M_D8$k}R(mamlaEE8d}+(#Yp*Uqq42vY^#yFns*a=@oWT2(a_77q}QS4;u6s z%Jf12hdvJ#Ff3E{94<-}D^K=o>@(P>9O2ViCIp;5Rw(B-Cl1GTiohyv%=jlWKHqul$>_*{o$4b@zmV;wgMUBWHWcd&s?if-QXHOi`VwnPyJ J6+HMAe*%Le4tD?m diff --git a/libs/org/jsoup/parser/TokeniserState$34.class b/libs/org/jsoup/parser/TokeniserState$34.class deleted file mode 100644 index 5c1035307b17f438196ba6cfd3f0a0d8fb5f13b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1643 zcmah}OHW%z6#ix~_|Xfbq0p8Xm%#-b(vlb&6@(OtE(SBerRH91?znj? zFJ+NMq)Jt!?z-p#DNz=QB1eg$NZnOkby2BOcUe@*qWp!XXRa+b!91>X=FBlB` zGjo6Y_t^^o12_}JM-ebYBlsAfgwcqD5ya4Kh8|1ASAz^U+CNN+EgT^-$ z#36>dVcW5FilHTzSry-jL{2!%i5abIXE{09J;xA8yNi;cF=IP&y0Eq&)vQ>^k!Nql z&5GQdP`0tl&VXLAJqByiaimJ;gy%^zqZwB%CssYTkWb`=@}x@4y5CC2rrC@ZT1JNs zB`KAXVv%7iwgWs_9ZRnWC9+zouW7kdNmDh`3~klWN><9o6vKgP$mZP$m?cRwL}uKA z%F2_rIek-QEB^p}hCE_v!pY`bkI0*ndc~!~bnJ3+3wv-lh$9w`;+TcwNCq)%VFW1) zpJUX*7?KvojhV(o5MNmM(zqwhaLU9^n^*=@bedgq5z9eLGaTEh*VRnCeZuH~Pi$vZ zj!lFy1hcN=71oHPnpijS)-)q?OX(6VM3&OCVws_9w}jN9)~aNcny4LG3CFXw?K*VB zcDgfuhy3ar4aQ}=46QZC(!h<+2{SG(O^ic*w1_SLqv8UVcq zN1hwg^r{vLns^BpoC-(v75}s_oQ0&jG*POfN#yfX=q5lQmNqxMYkO`=PilZ3_12it ze)@MvWAkRi`5jCmy`zHDaNxhlScZVcQqDUfTZI!jb7=LG3A0S;MIat;S(gl*?vOQAP zDbiPg*RM&huS3TlAy7o^I#%OF)R7hRt@(IQ5ux~Fgo}t!dGAof@+0FWQeOcMy$Lk< z_97Z8;O6Qb{wHaPhyb5QE&m4Rc@~$r#0|cLTYLq#xsC7nDt_QO{K(hv6L;`4cX5yB z@qjBl;vSxIjpzIVe&HAKE5C%_`DOgcui!6!6)*WU{LQc9AAZwsLQje4N)tBFihX`# tHqeH4YD6twVLv*kp*23K99=M^27FWt%~~naNE)Ldd{)+dIEfR1(0>him*)Tg diff --git a/libs/org/jsoup/parser/TokeniserState$35.class b/libs/org/jsoup/parser/TokeniserState$35.class deleted file mode 100644 index 44864d80b089b6f471c3cfc09693b21a8fd90cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1848 zcmah}-A^1<6#va-V3+Omiv<)!3%KgS(k@V1txH?zmMXfXwTr05ugh|Qsmlz`%xa9! zO*FPKv9Zx8u|^HC#wHqF8IwPfHm$o%F7m|?<=Z_oa@b}&-rd?DZL~;UwP?C_Z8*X zl=6WLRAT>u46pK(oHa0-yhC`V)|Xw7o-72)JHzeD%jm3)z(7ZBX!Ta!W_Sj=YeUwb z#Eh9o}an{!`hLrb6KZBA~GMg%W!nu$J`T_Km2n8;|rpKGQRsEM$vS~fseH*ll^ z0h3Pl5VfY!Id=HE&0SlSfzOEro^*UWuw92g;+=l2uvx>h#q+8-mtAXCTD>5AK=Uy* z=X$D|!;~zR2*(b!XzPI6C?~_Yaa;!M`g-MgF8?$$nbp>)a_7d@EM1$IZEYqDu;v@b zjP!G;861y*AT^_fS}UbNnBbU0v^UjZ`~dMy7;zWZ1|2WX<8I1UxHpP6+(QlMz`bkx zjf*_5o|e_V>!>TkoJf6#`n_c|lo9DGBYMzmF~6e!H_~>J{+3CNq*qC?3b!g;$7p+J zg?E$RAU#y!Y4SHo!xjB7`FYY2(z_hjx5%%hzC~jhu@&SgZ40GwN>(TxO_i~o+Kx~g zNcEPnQzzZDtBl<%=+uU$s(*LY-(u2#8=kWoKJgZ!;%&smJ7^OZa6!C>OX3nPi}$fC zF5`;$04w4{TooVTn)n#si)CCFpWueLf}h2w_(gn%o8oi)F22AY;!FG~uHtX;bqM*; z8mv{wS8*Tqgk@MII9-H2ioei}`&qs=+(ZHogr$6t00_dBBsatOc1rDxij!j`ilY@i Kh?98SjQ$69(E6#nk*v~Om71!)1bwnA}~X$Kif6~QTE+i8)?P=RT>aCbYsZC{G1|AT&CLpFr>z(FLMWVoXfjxgcRdmx|}SnLM#W=_F^)x#xWM zo^!r)-@W$F`AY!$Fk#`TI0T-KV>^;DY(P&Oy-2aOgRN)S+R0WrMt{4SfV+RkY3FVZ z^mE`@UOvYM?6L5?K+AyRI(}AQb22}#URUXoa%a;8-#G4UW~^sYAd>T@wZQtkYN|w@w!BwVrAcKRUe}!wf6gfj*ki7%O|GQMWlhUO-ZQi5`Lb78OfM=^)+RmS zy{27zXm_-&)t(Nb{Sxy{^-wDYguINC@(SLUU*JReB|eg0;}iJ}PRnnxB(LH#c@5{~ z_qZZ|z*q7*zLP)Vy1ap#@+bTuf5xBk7yKoE#VvUgcjRxuKzeJWhXYwgC%S?mE#nDn rp`kS6HWAxR!)*c+EAb=}q$2_9QL;KHvVk-Pqu5*5eRvrMBhh~WOsBBA diff --git a/libs/org/jsoup/parser/TokeniserState$37.class b/libs/org/jsoup/parser/TokeniserState$37.class deleted file mode 100644 index cacd5b364ac3118da97020bdf329eafa5a05d2bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 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 diff --git a/libs/org/jsoup/parser/TokeniserState$40.class b/libs/org/jsoup/parser/TokeniserState$40.class deleted file mode 100644 index be4a8144d00cb77b496ebfce871aee837fe899f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2019 zcmah}-%}e^6#gzZVUuNnErGTmwtxtM&<1F2Z38JZ1;z3sg#--P!Y161#jwk4Hl3-j z{vW>bpf5U|=yV((eX##QpM2BN_r5ra=Pof=0%d2;k9+UAd(J)IckeI%y!Z*g81f1t zDi}soT*Gx0QH%y@dR)Z~+>~=41QEh5mF8}%_z-ubcUP{)q?(Y!Nf{EC-aQT+{w=*J z1=9?T6Q*UlafXZG`Ca3w5iJ_lPISd}Olv1LH?+#&OW50jp>^K0#A10bE1Z;(Ez(Te zyqzcl5nCa`*UHL@ID z>O)Tcn8E+lD3-mm*ENg&k|Uvn>WW=lThnuZ+K==|ptKoBXQLhqbLl=|MidF=i%50##}94A^#%*okSsk|pr z_O$g((sCm)RL@KX{UiXy<)W~5+ya3g9-3q5s!LX@i7;}Fousg~2?2^v8KlqRNI$K{ z6cCnY{80ulv>W^T^uuYF?oPJsiq#{gbez&INl>MFPOn-bP3XSJ+m5JhUo`e8WAAy5 zCGx7SV^}5AHEoM-+S~4q$3PE=&~f)_2vAKPyO-$VTn@j{^;!(2>#P=Dn_Cun;Rq`y z8}$Ff)&gSdL-HQ_C6w|(p?{NU5qqXfojXP$?5#d9T)H5B;W#$k%7C!*Ge>Uk*?1nk zA!9_B(_^Ma>HTB$oB|Cb?dYJ)yBzwL$Y-=K0GA*GV&b)6$B4Zi0JVj zp!zCky6f-s|BO~yW2e6Y?Env@uMbqve1LnA3R-AetG8_|GF*W!m)kCQ%RO?Ut+sxl zw%$R%Za&5#D-qyJNb)4s_#&H9eMBaFsA6ME^sZydLyQ z29Vc>_lQAB8ua6RVvfL{)XzbWMPcew1BNh6*5@&%i@Yw13X#QB0Qal*1{N{z3;YWZ CA?oS? diff --git a/libs/org/jsoup/parser/TokeniserState$41.class b/libs/org/jsoup/parser/TokeniserState$41.class deleted file mode 100644 index 2158083cb9197bd756bc4011091e8d68a0aad01a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1330 zcmah|TTfF#5dM}e^x^@ODk_3ptXf*6fOvso1u7;OB*ZqD_+YZMOM9@KL$;^-V7$Fx zBx0md6MumZKIubEeDDYOqr}LKUTorR@jOG6|&|;mFYVXq-|hDY6VR;eEp6jo*@ap+v@!>JD9(Dz2+$4nuci zXgw=sV~Sy*F=X#+6qq4NG6Yg~NoC|sQ+FS%Kjk(stjQym=B!M?E)sdSrIWX*ncf3B zH_(ch7b6DEam>I)jC*m(z-3%9a24YQCNOCruF;hCUDHPblT`ZwFB7L;TxXd0*JK;} z{=1*hs7qsCLykT4FnBYzRV=L&B|JPxECpxfs;%UVLp!uma^#}W-}(mil$@Q7VXo18{*Extv;BNh1Fzr9^_R{TI3ko>HZCxDkix zY|-)j362o1-u0maN67+?p|g6Qb<%qt@|1@v;EA5k`s-s7ABmsj7D=F{jhb$)>Asqd zkxr8&NbUo>yQB-zukcjR{0WnUT3j>|t-wo`&$R}kkqZ2EGpNk~RdJ|x^G_$Upnmu> zH1p?J;+we3U*aBr1;MwF<*$+F+pzf?DE=0Y_zs@(GG6d^*yQiA#Xn$&e{@-hR6DJ+ uP{whba9J(mB)W)+W^CgWx`|Pa9_peAr_oE=<3Koo;)Ay`;}(m-+W)`TVuh8e17;-9g!TuLdI zi-i?%IQx+q*%k{Zc6s*u=roziY%S14Di z#H#aD+7?MGp73O3Y$QdYloT5bv(Zz`Q?+mDEulo-lPX8wrAq0nna9vkYg&y;(U@ZB zt2H_5jSTa2(hT7hr=;?7!P3>YR$ci83~BHPrHq{~Ixc~?B)u(%is?S1auZD$Hjp$i zf>8rwCT`=7fe91$kTNle`zEF^ZDIzqCgwCrYch{%O8*S!1gn7z!^CmTtu6ikk|IeT z$)1`RM-XB#@{aA6b_f+79U!3EYra%H6N;WFJd*YXVMO+;g6K(&iqLDyz`}_hwE;t; zD~p@y3hdOWCk*H0j^)wYVVtNx%JagbCiR|GISohHQ^IyF&vI-U-_r)tZ@-UJP&%6# zr5u{8dRgJEb8^#Ba@M1TS}%EWS!k4cPsXRR4N2O^<85Y!X>}QGJy1ud3Fk;_CTRo# zaN@yOyo3Ef-51~DJkbVi&!6K0$(6rBwBRCXz$LUD{Qph<0(6rbEQ3#Ve$ubgbaa#{ zI_<#zKJnrBHv|ITQ6Dd(A^sIc8Noet#bafJs%o=V!=yIS>tQA%6d(Kr>iJ9b@K=cP z*BIn)Fv{OzoWDbgzsDTkLxz9AL;ewu`DZ`tSS7P+);V0p6(5Bhu2N=osK*knp@R_M f==8JhLO1b%Z`JDO&vkTQCWyoV@5fz?2ZH|qoy1f! diff --git a/libs/org/jsoup/parser/TokeniserState$43.class b/libs/org/jsoup/parser/TokeniserState$43.class deleted file mode 100644 index 9c7f2531b20d07407551254c48c92fba765fc3fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1428 zcmah}+foxj5Iw^#Y!a8dfL!Ee)IbtK07VQU5J0ga50b*tw;`Ddi^*(iFMNgHVwDKN zOO+qsM_KkRF<5LO4?EK{+kH;=nV$Le`}Q1udgF(<-HoZPTr$s@$@L zmCBnRgfz(7ceo>>ON$wzvIH+OY{dTKo(cZT9&w8o9AUkoaA9Sbl!jJ5mu2m2_h9_2kgW0cl&eNJi-Ij&2X_MBk zg>z&Ub#!4#!y_G!v8>?%Q{x@R7VD@I-X%o!*d<$*wC=4Ba1B^+t|_Z z0xzlF=5YU>1H;4(P8xO@R+{xo3sJ7%)BfR11_-W+&JcEG!IZXJA?=iyccO!VAYW33 z_CvGeQj@Xw)Imk=kgmglUfy(#vez4gT*u9u3{ ze-P`6cBFawo-~xUs2J2S54jWYn!@BWXivn7f-k>h`hz6Z8(N0=?=C6Z=8=a#gV0$^xdODv^dnc^bBpve@pD*)54bg_EmRs;#$j^GaNHlYRm z3JrvjRCG!)gJBFQJFLE>6&g`!G=#Ab#u*xCEZg$t7&`j%JA99)%iJ!d*F9<3rA%&M zgCS@*MZwULw`}paTGU=~7y=}{7&~vseq*3OsE9jWWJF=AC zah>XJdY4OA$aKMZA#97#y2m|{n3%{=Dk*r8A=`hBd#3)IvCSnnJt3dcbs;lKHS-v{ z>s^ntQZ^`D?qe#1X&n!c(J_Nr9dnpx2rWG^3eVP-bu3^?M;5chZ5m72LUvQfqVh8^uVYD} zWp$(P;yyC;T;LSK3d8hS^RDm4zttv2{pQB&5}axpEkK2P=C5ERO>K>_Ni1Okdw@pzv zp`rKx)gQi!(S;Fuv90vvfdKuYh=Ep+&=`Wy$cB@tZuSoBjqlM$|Bd7U?E~5g>k1=` z4qPP*TtnB<{nr#v-CrGy1!~at5lz()Oua=z4UMlbIT#Do5Z*^KQB6M8HyDffo{GBU zQ!S}v4LTj0Yq=+r(Vu6;pL`-*Yx8)midSk!(Xr~UF(#t)So nt6ar(bov1%`90l^DJZUq%BNUT8K)Q6H+ zjRhl?F|65G%9W-y8y^o(Gx!qrj9{oqnwFT%WiJbP&bXW*NnO%T8<}ZCnrdGZ`rJ9w zVbI4dOUOjVa2!F~VA7Vev8#@qn~%*K(h)Lt&b}rrlem;?xFXoo8z)y%7&8pRp*76o z<+{Y2A&s;vqshY0#w2FbvzNq8YUTzu2$)C9RAHO*yX|6TIOQ~Tnt*;wwzp+ zAmX7gp;nu)vsq!e1e0_}4QGy_Z9Q*PoyIaxrGTgst~4yibWPi$=31*=yyAGFR|+X@ zD*2{#A)YB=%}|{v;9`Ibt^bKDShS$hoMG6tdSri$sEua~mwKV0>_Ls>%#3PKhV3ig zT2Vz0(wLv8$f$cmiSQaX)QPO=7UL?VLWrvuJL>uO3;W7gA?LQ$LtcJv;%gap>UqH z(tSRXEOz9<2b%9H?E;aKsjr7#D1mHZhx`EwlRFVM$dVvxT= zlD|fZzri$ri;MgnF7fxc!au;|A7SxNko+^Q^Dnr;zv3qUhTHtRhexE4a|w?{G-9WR v(IT4AOqf*S7IvY9u;pl_d@Im~c3OR&RXuTyq^Y45Lw@uY*A66TDD3zRaKM)T diff --git a/libs/org/jsoup/parser/TokeniserState$46.class b/libs/org/jsoup/parser/TokeniserState$46.class deleted file mode 100644 index b92db41c1d147b6bfb1af1c151baebf48ed6bdf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 zcmah}ZBG+H5Pp^|T&bsEQ9uL*tlAf_peSk)kOGPpBtp={59TNfoVIsl?`mS=4>0kA z{0l$$Nn>i_2Y-P7#Ar0W#Fr@G?6nr82$#(5?9A-W%rmp|X7$x;0Nt3>a3lbRPyk19 ztQs{q9zYlo^@~>1FIJ5XbaG&AC4du%E0Zpz?N;1L#hud7!%)>{TBh62P#;d+G42`h zjA1Rrr(9`T3yHDF41+Ie&k2T_lxc~HTy|E-X=64+l3>bC8<`nHnrdGZ`rJj+VbI4c zOUPu#a2!F~P|B7I@jH&4TZ%6k(h)K~ZQm7^N!*lcxFXbZCPA*GFytva~Yb;O-o+M8YJQ5oEbX-8cjsf)>#E^zz9U~aka7o8y zjOn5=_z^Hk?I(wlxYDp3(=~02nrpju@rvVxUMZxsspNao zg?J`~HAi)#fQtb#wEicqP|<=)bB*E9){*@+qBfp0TNv1axX70*12I{H^Bd;S*th}XTde(XmB?SMucD4b`lbf1qT z%N=>}{+6dodyh!T)Yn7QNfagOCz_;Twnl3@_8h)EDxctHESg7E>;<$J@CU2&2;3mu zE>G82(B+|%XtyVdDAAtSMp1q7aLb0X>v>Fovf=Mg$={=ke?Tw)i1Yjt2KZ;B_!ms^ zubAQAaEpJ(ZTv$LZqQfg}xu#y^FomNWnW diff --git a/libs/org/jsoup/parser/TokeniserState$47.class b/libs/org/jsoup/parser/TokeniserState$47.class deleted file mode 100644 index 8aa34661724c0b066a19422018110d4a07d16fd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 zcmah}T~iZD6g^EkOo(H^pdyF}8Z{6w1V2#YA{e5gQBeYjR9V$dS{O}csGf;c@`rfv zNy~~=*4F-j{XxDddwZCTyCgzV{drIKJ?HkF`}fape*ws0-N3~-7%s(;#%LFk7>gr= zaotVmy~|xR%XVQBxd^cPBaSIt(blWFyQWWE*RyF2zM-u*4cubrylp$SKf`b`U3x3t zi)>Xm8`&ja+0I6OVRVIo7us_;BX%T&o#8`-y>Ti?oV3FS$ZExYfeW7BNO7rsngoz9ahB}Ii{E`0zz-)bvt z3MDLGs^@fEs=Q{+e1^eRXwxfsV~XKiD`fv|1hl9X7~)HAU0L#;t=0E7uL=ZQ*1@AF z6&?Ain_ap`z9XXp@EW#$9Q7k zsfk5AGx1!Tm$bQzITOozxq?+~eL>O=aZDjMu*Pt+-NUzr<^OV1xgg5JEk5=|kHN6& zN=b*FBa$AaASMcKtw!sjQ<)duCd0^KzUZk2TKqKWFdP$=_rkGcSqaCpecN>?;SNfn z;K2g^QK^(mX<&p`1SBbY64oBcMd?)NEeQ~^W*Ghr-BgIk8+geu)SmFaAWHR$@F`#V zTRytGb-SvQn4xd~_ZXV!qZM0Q#EddLT^K#!hM08U6!#P+WzF_OicM8~J|GeI{}VaW zaviT;lVx|#`Jl_fdK(wSZlX=v9K>a$eMEj$fE+n%kC~mM>cyxI0v*(Pahz5sXf_27 zs&$7yGKyn)EfnUC7~f||Zl z|Hi3JP&-Ezb(h9s<}-K$(H%U@j5W|n$BfJu#J->_8E@do>JD<+U}hRPO4vjL-8&cx zA>+|Mqid0#iRCpOS#F@Gfn%$`7~evI7#oQ47}7kBEI)!NeiYL@fjsZV1Kxv2Jc&i# zi!wisb$$Y`cppCS{y^o}o|2}@ZJfbSpnMx=F-(z*qK*;L5~2TjQqzGHF3`vWR6orI T$daTHvoYkuaT1TPfK&efen+bG diff --git a/libs/org/jsoup/parser/TokeniserState$48.class b/libs/org/jsoup/parser/TokeniserState$48.class deleted file mode 100644 index b696219e7b23de0726f63a36f476fb0783eac4a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1531 zcmah}%Tg0T6g>?Mlf)4)DDOvrfO$a(qJTjJ0w@|DWhivv!eP?DU^0`MOti{{e2xoO zT2!oZ;RpCninoUtkVKfO?&-(rzUQ3o+dqGQ{{bL@Z3QDfFa&)V#h4eZxa&g*VOd4I zR7JgrVcdra#2bOrUlKAYXA`oTlHGd>rWu;&4byNI7&=1fBki3Q&uQjCJmc7gd5~NW z?=tX|l@$!FX~PtorTm_-ceK46jrh}+uH|+$+mQXrAa@RpB7?ean!--yv|>?EH<-5U zgZNR=Diz`d%`OT%zGJ-=ra`TYqd6itJ)5LZw$QQ+OQ9>^$=bQpp=N8kBkUKnT-Zs; znmG)8wa{u*ipFe);abS$-3X{tNip~`R>{`InjzJ;a`2hgllV{CdMVZ7!=(yi={kS)EEj&*HTtKFHC3EBsYex zi$gkkYGPEW&~A>cnMK1fER(L)RTsrQ7MFCBux*PDyG1`^vMtOkoe)v2P-6)EhgYzI zphMYW7^u(eFNiL1R&(eUbl0TPa>>ZatI5!LIm;?jl!{uRK+NdghEm}xcJK&mfAvg} zU*rv^Lb0lfY?o=f;!+u^Px(CY5|sM&F^iM*N-%nFfCegUxJ5lbwWh#9uL?YoXdnBA zhA%Fno$6+Z=e@X1ZPi`t!5wr`59mU7W&J7b$7$p^Rz~AO|7SV-hKk%%elaTJREFv0 zI;HaJoHJ);zBy;VZ!W+7eE$ic4-XVv^nu}$50?@2 zp$EP7IDwFiu1FWICwH|T5nS`4&xd{t)B;<-Wi%+EL(*NB&|w8540U6=p*t~#Gr{zV zwyH&Pnz0mFa4g+eica@DWZ+3ND;OHnx*_I^`Demf)Sl&N#Gf`ZTJE7{>9SuQ|&n8stxv#eytTtb~4jx5_#Q8n)$pioV&uvl7#L$c>*UihqUcF>dRWp@;Z67@x z)iLpF^w2PRwSXEjKTcBb6h-~upf?HL-cTFcK+RVdahiOc#Pfcfp;&d-dT|yl)B{>^ zZhJj@O!+vCY+fm$HrD<{&VC^C$bf!vvMw@>EKF7)i;?xyJGe#d>re?i^bMX8>elcw z)LViQT8DQX^?qLo$NXvu#~%@(!38|p27E)K+nw5rZwgE38V2NG)4sf&dvR{w_C0BL zIX@+a;Dhk+A&l^0jPVg9`6woN6tjE`Pxwt_c??TDjvOC{%@bJV6L`f_c*7_0mQUdw zpT>JWgO7X`pZFX;^LecEJNUuxxmxya>$RihCfd;M>br^a=pa2k*gz+#R!jeG(x?U( b5TKU3sAh^6oYCS zQhTugaQIWH!v;pf2xCks31u5s(k%nG8EU6($M$C!+M=0lzQ^N5?&RZHU)oMSxj4AS z5KOyUf}tT}J7TG{vngbbZx(5%IpbQqxW=We^rOw7U$8v}bJ1~xOc%N52~ztruFS`` zJ-4(Q-{sO1GM;na2*)NV>vLa3CXy6M3ckgVik@*gS!qibxa5{El9pJoRYF>hU1(0DDmEo<-m!|VNBMjz{DMma zd(KIQiALNpFlpj0rcB&J(!jKd`fR#r%L@zvnw2|!e%{0a z9;us;8Ln5q_D@9&EHX@0dlr?M`JZ_tp^MO45#mGw84Rl=rEsVsf#_hGQn4q-hnAeHQtG$=j{O?+#QJC?{v?s&FuyW})-)-%%u)FeVeN|#(1M=mr{ z^;?J?n_vf{Y4zUPDyZs=Fm#<3MLRbw*YQd_BIl-@_v#U+R!1bv$0PImJ!;=RBWh>TDoS$n(NA_-^W1g3&QIM zxKM_Zz|HB90;l6Zj>)-i_- zEaN3s@Cp`Qqkv6KW{3b=1iKSm8m4_r%SJb@YN|G_p@&ixKrh9p!FBY}8q~Hnk~+!K SKr3eJsHKij{B}(I(SHNk!e_St diff --git a/libs/org/jsoup/parser/TokeniserState$50.class b/libs/org/jsoup/parser/TokeniserState$50.class deleted file mode 100644 index 1d4815290881979f901a0aa767357fe7c32b041a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1653 zcmah}NmCO+6#kktOo$^&+*xEXYDf$L6cvLAhD9`j62PU@vPoJpn9QVRCR{vtu*xd` zf>j>m;=z-a6{|e>1N=`euZI|c1e~fj-S73+Z~3}k|M>OoJAgqfX*eAK!Ki~ zF5-D%uEx`@ZJ4Wx*}i24p0u)(;XukT(q5qL(oU$Xnaj{o3#~?_Xv}8lt%dCLM!*b7k|B_`N_Iw08>;$4RaagC{fazd zY0AvxEr-avE!~_&#dQ6ravecj(U8zFimMvNbX>!PhNO;3OfmRku^tW6I%aS~$1HB@ zxP_FC+nCcauhctAoxxol<4RpXipu&=P@-Eynqj2gq1RHfz0}a4$8dK|j2+A|Xc^0N zN(Exe7w#hh+iJE{Ju|dqtU^JW?j31ni9gz%+%zzB?~+oef=FmsWH?#h`(F@UudHzC zj84>C^y?)fuPzS5v7J3oS)xV}#Uf?K5Uayk-ySYoDoIY6*-7E#7kl{ZS;w&>P(gp+$^?3dQFsZC^0eNL;X zh6d^7sE-*RpqGZxvjsGe1aXM8!!#QL2fat|N1`3T&%Fymb zKf_-}^9MYRmJuLrpQp`7BW37Yk-`0Cv?%xi574gw2e<8M-wN;Cg8o<8990j#ghsxM z0e&A>`2$SyhnV4yaEm|20)K)f{uB?nK%TF_;Tf!Ri5L7CUh-AE<~h9KYk13_<2^5U z3`I6ss4}#H4s?2~ZQvxjh^0onLpOSeZ6A7xfd-sHh(_+Aj?=7-R$6JqxE~{xF^cQ- HlpOy90OO>& diff --git a/libs/org/jsoup/parser/TokeniserState$51.class b/libs/org/jsoup/parser/TokeniserState$51.class deleted file mode 100644 index d8c7cadf8b359a759f6576c7631e7ea2d6bce64a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1460 zcmah}TTc@~6#fPVwk-?DMMMMvtqK$=7ZIU|Kmoy2luIx%KDaCcER45j4dOcHtd!7oF^@NB{9{yz`&Ev zl3*xLS+)_rX0BvUvr(z zW_;6-u8{G0XINblK7kG;9;q~Ln`y@-@g56r)gdyC=P=h% zhHec#I_{uX$6fSkxTm8Z13D7Q4JvmZLpmN{L_<=?7{+x>sF8>0BM#?eAZ;~FGW4Hz z!ukCF%^U~3=)a9kh zRYXVNNyBz6&vI?Jxezi_%bWlPzT zbHiG|fuZR?^+y9lLcb%UdjVyG=v&wilbi;t)vU##%lK_#_ye{Bd= zxJW&q2A6{MhqNE3k^S}q6b?0fRL!*f)gvcSNXNLKxl0lxL^2OO8t)AcEkpP{buB`D;Ak+nD7$c*b|} zg1^B_{uZnJ9nyRcF5kx%e~%sh0ek$TPq!^gDMxo7wYcm{u#Y-iA<9MAMLilwx-sioUm#<&^1E3FQ z4SWy-!=4yEL^6hM^hB`*Db4NGvX3;kFG^cFieB{9152-B=*P!e@rjo0*W3Z^cF@45 z3=M~D$My#qwk2~H#3hj~3TG}o}bpJQmNajf3Yu+^dw@a2eW`Ik%blyve0W#CCY zZ4AW|VxAh%wNawf;+U_5t z!_fIZsU$*+jDfEhcCKCciV=;!6BM?i<{=K3?V=uRhV850XsDuxEJ`JUi>5xA?Ox}G zh;(O1mn&+Vb!nVWmu+>C-YBEq#O1v0he=n#=Oe>|#l zdMbznmp?`HDPr-)3d}QMq(uy9ebb7bKf`9?n@Rl+C9;UN6%BcI{LArewdZu5{CgPu z1{(QI#Q6_s;kVJs@8E0x6Tabhk>~eN;P+AHzu*dAz*YV$uJPaSEq{Pp{CE7w|G+)| zCl>f39`L{Lm_Nib{wP4OXBnj`f)%u*BS5u+o!CVvwqgOD=%Q}aV>eY@hxd^n$^)xb V;@U{Fg(!w17zk-Ej$<6HZvcrEuo(aV diff --git a/libs/org/jsoup/parser/TokeniserState$53.class b/libs/org/jsoup/parser/TokeniserState$53.class deleted file mode 100644 index f09d165396b0d5029595fd050903d7b4c209654a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1869 zcmah}-BTPz5dRGf?A@{i1dCY;w1I?(RwH zn^nH}>Vs8zv3xRBT9%T+i}AsPX!(({{EsyDEbFDhUdUF>c2Cc5X1agfJ@^0p>1P0= zFf|P7U>MSo!D00qj^hZjag1P8$59;9aU3Vq!t**Uybwn>UR2sirM;xITr=?CAB8)m zrZ20#V;W8~w4SnT%O7LdlP+8pABb#8*elth?^^asZhCN@f#;ni$Htq9kXZg$SOCT)wf zqAz@zI&myVSGiIwF-)X)fajuX`BmWx)0gfg+AiH(;I%Evfsc`(7?{tHh#ph-h&*8~ z!=Wf-`%MHiY2+F7qEmHEdDc?Qbk~mxf;*yoAO@#wv*dV0>;>tsIuz)^C$M6m2NN33 z7|3JNz!c7EIA`D$oYzn=Z~zxH%ouo0*)JNH#U%qp%o%tc^9B}h*}xmPV&F}sy`{8S zylvnerM-*yD8wf?KxxrHuAgjF98r264Lda&WMUw4$2Jxj+RMT>SEW~wK4p=iIX!rV zVYlhnUbQT@tVQ{LRoW)8+mjxQmMTMEwD(%eNexx_YNR4Jtn< zfX<0!%4&G^Owg7s(sdn5bRwPKDTbJImZ!FmZOaa|*KE~tuhDzLs63L5Gg9|9HA;_K zW6bynJ&cTASD=YT4|daR4{1liK~E)OLzx7-g{JiYv6ud>3eUeqFX=|GH->%KPctBa z{;mDYr1LmgHV@a(d>y?c_)KO4EgNVZu0g9Iwy;jd_*nlpYUgJ(VoITJkw%=xWg2=Y zjZn6Sav+prB+t{6{($6KrUpH86KypZH!w|Fd!U`p4ArnJyu7QUhR%f>7*fWkl#%~{ zu19uugwTG4d>HsVkpuo6H2ysdzK;F;CK7xDNjjj!Z=u3}#2UYikN6#Y%z_B*tSH59J76#WZ^V0|}Yt0RR91 diff --git a/libs/org/jsoup/parser/TokeniserState$54.class b/libs/org/jsoup/parser/TokeniserState$54.class deleted file mode 100644 index 45c0896a1ff3047ac0c0a5902a8e5c23b814ba7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 zcmah}OLH4V5dOv*c_n3?$nqnOF|lj}$d(etApwH&ur14=L@{p^sJQ)iIn89GdP4bqH#l=d-3CvG-4-fRO+Tpq+J%yhFMiHj9CS9D&~<n2UZN>jIP&}cI%AtD;O(+=Y0rRwDCS6HsZIADX?o4_$$7bla(;YK= zf__p%^cMtr=o`jiFpQ9N5*$9-1Jj8yb_eX1i#S4SFCoCc#3;$Clo7yFc$#+LD8~2w z*(Cg~|8BB{o*j%Ord#kOJ^|;S!k=iNH*p(E3xQk7z-RulFB~kDc{o%m`@?;ua&K5I zm6dR`)Ix9vAqo-NLopdX-@<_%^xt<^_i!#5>1*NO4*DqKA&R(%>0~7Asrp^jVVOVT z<-d)A7S#JSEn$Fa`U(pF8Y=$=gZx{J@b56rzekk+fDHc;7x_;p@Sky&{{oHwicS6- z9R54r=YQY>{wF@-V_XMHCY*U%QyZGsL$KG2*NT&*C}Sx!Z>^ Vl19lgNIPZ&xX|8@;UZqc$bW+(zu5o) diff --git a/libs/org/jsoup/parser/TokeniserState$55.class b/libs/org/jsoup/parser/TokeniserState$55.class deleted file mode 100644 index 50eac0c36a2bca84a48ccbf82ce6e90b985a3913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 zcmah}&u6U2D10x0QDjWwkXaiuvvD(f-@*qB z?Z-Ud3nv+N4dpL6mz_-6@k^P7PNTpfdEvtaUo0s8|A~O58U~Z!uhb+i+lJe&5&Nv}`m2s&S zXV>Z4)2dVn8kZVqU2fxDj?tf?HD>A%{X`i3j(|3@ZoEO!cAAZYBSt$|^em%U41pf`mbQRkO zX-BDXlj=yfO6`7m*KKstjtvP4L=^lf1b>F}{105@f1<$uLW%zkpZ|le`M;GyWmW6>SSJF+feL*6y? x;H^mVHT0s7Bo=steb`T}ilLumX~O`FY&=5kqFE1Ry2xWHj)|Hd#Vm5z^FOuosx|-s diff --git a/libs/org/jsoup/parser/TokeniserState$56.class b/libs/org/jsoup/parser/TokeniserState$56.class deleted file mode 100644 index ce3dac9b0aea47ae9dbfa4c559f13f06637265f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1603 zcmah}%}*0S6#otFux(vMLB$W`vp}IpEsBa&L<%TcjC_bj4`yixSS&kac57nd!Gnp3 z7mpr1n3xz7JxLTJ2mb*7DDllwN}v@sdHdeXdo%C-es5;}{9XSIAc+YBtr0M^MG!@M z7>CdiK__C`>e5zsn11mvdT>?`d$l8>t#jH+8t7xFzG^$RH^^{2mRYi%S&6*mEF`8q zWjhP0@vd2hU|Qw`LrunZ#NER3oKQ2?T%KlXGcs%CXDwyxad9%}E!r-FIqo<@rSq2S z3K~W;QY|EwTv=F2tXRqwDlsFU3dbgE+Os?n?Z23!R7zMmh8wXx!c*nG^rEG#tS8hI zEf*@Kt7aZULwRT^D`jJfp|w0@_ihxJB}p?xre#58#h9(p*Oj*N0rYC}h^0{{o0l$; zHzB-5Nno1xL2jZ37Yy{9xQI(8E@QyJ6%#33HE|6CCI+>29XAZ5O^jgF#29XxxTSsL z+IJfR1Z1ByM6iK73(bQU0g93S?RciW#T6g>mtgcBQonfUlI2T zb9p;Eo)eB|&)Y&h$w`_KlLhGsBB^D+3aDMD%CeV=q}F)Ka$MW9r9(;gIzN85d^rED zO}B5mHZGKsbW{%Iico};qX5EM#KzG4pYpddqzq&j8Y=_X3Su}gFX?zq7HsvD?hJcG zS4=G1-WG*hd5KwlEk`Vm4qQmc`O(b+&0)Dva7#tCR8F^j<&t#iE5{6-qxXT)BLh^C z)Zj3Uj*!)dAOfUA-SGzY6II{*h+6tr>v&#^Igo`poIzpngS=0xMy1A%ZN#7^wBzZzINMZvU8>C--h815$a1H!39*|Y- zTNCl_H5l>l2nBy29A86(TnBttpLUrQUG+Oxt>Pf9*hV~yV}$r9I6sDm{4^f(M$GXh z2;Pc3Z-eCR@OTGa@J_tsF}&toc*Em(%X{#SpT&FLi;p~kPdte)ybr7VJbv+hpTX`; zmP!n+<0MY`tghoU8i+-XA2@?X>P7%fguDvPXdxZ+qo^{94^S8B8w%lkQTJdNLpbpd DgG7#s diff --git a/libs/org/jsoup/parser/TokeniserState$57.class b/libs/org/jsoup/parser/TokeniserState$57.class deleted file mode 100644 index 16952ae67a3829dd53ae3bc63055682686342b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1614 zcmah}TTc@~6#fP}Y$>ZCctI=*ShcihK}CdOxs;-XaucG7@xi4X%3|4Vrdy5i!NkNz zALLK);FCsc;)6fH|K#P&Qc7eiY;xvyzCD-k%$c9RzyAO*gohd~2fz>t;0mrbqZQWz z2%}#Ok!BjA%^1M-M&Qq{0B#_rwu4GLq`)`T>XwGv3{B&vWjYClv*FB^@xq7|3@aa7 zb);$KZ5 zh`a^iY}%B}rDHPJ(S|!3Ms(c8sE#qjHH_=HhlGv^HB4e!!;Fp;W;NW`@c?NZbC}nW z!GexO#C0rzD%f|7C*oMcGQ()SN_%73e+AGgYd~fAxoL1A zrA^LH=Bi-{D@Qe>;Hz;m^!z8TP!&OCT4A_YKeBxgLtD|4@p(_9O_$Ary0{GI4)eVWDNiraQV)Hsy0_Jobe8RBW5hKL7iPQf*Xk&lnEfTEDP2QhSW_ z)=%i5QHSWMsE?T(q^E_^`vf$QwBZ!(+G%wYKG0JHeMMRd^Er0{$Mr)jOb z|N3zT=V%9X;{4wKtdH#Z=wxT0g2qJmN2Ps3qR!NJo1~8Cr zJc&jsXo`M;_67d-<_ZFjcaf?c`o5wiT7gdZ6D~fYR3{bQqiU^M=~hM#GFb%W!$-mS z7zX(`M)*C9@d-@uNo4pGmUt3td3eWf~^87xwcp5gJ!%IGo*F1x_d;#zH5^7o@GHyVx%Y@HGou!j5(zMcyNk4|G^8k{V GLg!!lqMEe; diff --git a/libs/org/jsoup/parser/TokeniserState$58.class b/libs/org/jsoup/parser/TokeniserState$58.class deleted file mode 100644 index c94e838691da40ece2064e8fc4942a680e5dbbaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1614 zcmah}TTc@~6#fP}Y^kdtDk_2kRw*r7@UB%Z7Sw7*6vP`wm+iC+l-*{!)fgX4Onme~ z{)7)cX|yIj_yhb;Ud}9~Miya{Gq>~YxqN5N{P^|lJAfhFF>p8nhG+ywaI_gM=!+nR zem%sSX-G6<0LL1E-#;Tbj-=iWYVD8)pU|t522L?FU6hXWh8fyp*+uJ_l`L9LAvx_S z=@e3#{#k}l+RX`umaKHdWMz3?s2OX%NGEMs*S3nYmXdm3I}CXXvdmy+97m{h(JGe( zZKGLN6_Sf(w^B-$EL9dNIpZz~N78EAvpf+!eJ(|=l(2FPW3f%(sh}>sU@6P?gt|k& z3zgDQGmoJ&2(5c1Z%i@t1|jRM5zr<{GeoA{in7HOsk7fzH{~aAT$4vEO*nSZEfaY+ zg}2~RGKaRv+(awR7&vR<9L}4#fRurYCN5#v#E2e7aoNDQi3waWaMi>$WK3Mg4HH@1 zG%<;kiCdrw_HN;cI5sfFaDJmo2YL86zvz%pYj?oMI=UDP+jYv7WumAt)=#W;j^(K| zu!NJNno;nzI2pSC6IZl`pfcTNIJj|SYaoW!QXu2~fkwMrkwtxR8TPL4!J3L1 z)hd-JO5!t??%%}1w!BMs^maw6C2BnOkor_COK*+;wM3~ly0^zIk8W*PxcP}yMtU|* z=x?JA(NnQ8W^|CA7Dn$A&_L3PowRGC)d_?^PZ7fLL?`=-hL1jC7mZCC&!@4Q)~5e& z7<;gncECRDU;Ur;lD!a}tPE7qINbF?YhRJ*GyR<+=_84g43lK&+51g%F7XMWD)@Um zOvI~bN_>X#8R53(DkAsZW1@Z-`hsnVDony}_wjM9+M)3QRZGoEmp1Y@lSxoM{4O}3 z#UQ_rv-|-r@JATobI9_?xW%7fhCjs|xA2tDqrhz}asij;@tha%k}u#jmw3aM@QyG0 zjKo*7t~0WN4jk}VT0tkeh!u{vIEX{UZX>!W;|BDgm*$Xck z1PFl;<)wvIeB=Wkkf^Fkm5N$dtPtz2&=Kh}MLAzqMW!LYIDdg4q_of7K2GgYCJwxTRKl?#q?4UP`u zde-$B>@m+1s!(x!Ul2?erJBjj`7)T#%{$5$DtBI97M@GH3GHZ+KHQ(DP)ayuhM~+` z%=69f3bT%KN?NFMZ)4cN zg4vCjWz@h^_|(E@Ha{X@J3`wFU*VaV5;JlhP?8`g0Dq&tSmh3PP;{Pv(#0Ff5jXYlRuqY$;|-M5gV4Nu!LVm_QtCzw>!u~m?%BXq zmx*UKN#E$OoC*9!oX*v6SpGzN=_j$e&EP@$pD_9}0WBn(@D8Ci+Vvrh80kb$ww?Wn zmfu2)&9t@}doHns_IBu-z`NK+2-uDtOa5$GhHBh;$d}Ig))O3nT+17lBu=NZ-r8M7#$66TZsU&`QV((Rj9}h6KT62#4x06~aCP z*JXc)9sdLCUvu2HWLbap5*x^4x#~%5rK+!hbA>PYH@L(XFvYK7nqNni-@rV-iGbh2 zb$%N+`5oNhckz&ai%0xEp6~~F${*qx{|+zs_xPDV#;^Pb)cBA1hd&9K>{()~!Q>)# yVpquSBHFQ=*yQ*Nd$5?u(1K1FhT@?WWk(({>Lxvd2^@}eFUIf*w*L>b$*SuB diff --git a/libs/org/jsoup/parser/TokeniserState$6.class b/libs/org/jsoup/parser/TokeniserState$6.class deleted file mode 100644 index eacbd98b2fd9e0c1fc3aefdfa3cfe8ca948ff4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1439 zcmah}+foxj5IsW@7UC*5L2k+|N+3W06~sgY11MI6DgsndJ`J0Z41`^r-C+4eJouy! zp-L@3z<=;l6njPrl?2$TndzSC={~1>w!i=S{0+baURoH4f*}^gUEHfj0|ujrV@OZK zdM^Ar;r47F+L%3zkEEuP)whdf#2?oKinDCzE`mWMVO z!Wl0w7#gzD6)UCvZK2lrc9C|Pv!26?n_Nk)pKgYOg7g{eW!DudQ{=ucNFB&}YA3nt zd!>Wq0aw0I$#ri}xRRt?zylGRN>L;wc%ETCeu;Ie@+?!}iaUW&YjjK zI5Dt*p}W$}86ZN!6hnWd$@xeO(VSOOj#!d9AuVSv45u+2n-aI^Iz`W?e7+Jv!6Sk_ zS0uwmBc?1&+jxW-8;_B)khbvzvo@aUX%6!?o*`plfuXayx7gz95<`e)?atUQ+E~JK zee(rFU-fJMRK&tE!%VejQJI$EHAIi`x%sEOP1PfHX ztnmGyz}=kOaS85KF{x@7WI|J7XyW-p?mA*!ao3lD^vG%KvX^FRXm~_~QXaXmPF)zV z`p*#il8}ev8U5tiD%hH&FmzoM#W=Se&-F|DV%?i}-|OG-b!MpAt8J}P2p#syI!?@u zQ+Ht0HGmo#jc6jRnWRaCL0tlM!-;NojGB+eqJ`#KW1q)Ol5Hc`p%u4C1KQDXdjAI^ zn(NA_Kf++*3!+=c zxK@UJgpQHO*T`0=F}<-B4sDcieI+qk#*M!KCkYnthT2#GNl2oyhiMd%!anBVVgUzO z#apbwhl7Bu-Wf8(1lS?io#-+!7;>H Q%+*m>9i{l~c=$*E4YTlR%>V!Z diff --git a/libs/org/jsoup/parser/TokeniserState$60.class b/libs/org/jsoup/parser/TokeniserState$60.class deleted file mode 100644 index fa9faada1fc17aec33285ff5632016c59b466bb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1600 zcmah}TTc@~6#j;G*tV?T{eq}~Re>r6yjw)DprZ8#N{l9&r5#|k?2y@AqYplqnE2wO zMjwo~7>Ut%AzF+N{s4cJdS)plQZ7x-ocU(IGiT0sX8QZj&tCxAan?X%3=G?2h+{_# zJFzQ@YBcFtvmRPBOz2^^hI^tkv__Fcn_g=-(7{mIX*;&p#jw69bJMzQCG(aunjG|$ z?Tn`Sn}-;}X_*rYH5uCx=ltudNnt2R$<xC1ZbZzIr5R#_(pOn=!q(NVDQy)L(5l5FmHM1)Ub-aS zS>cUIDrVatznNIj%%1kpMjGmPNCn# zX>?K{%cLQJ4V+;(yil9VMfktCczd8}eOZoqS}_<|>A3zl=@V*dCdq2cLP|T+1rp=7 z*DJH$-3f6)I5|=+h|`y@*YZfthUHF1ZH#%!a$MW9r9&5OsjCw-DyW1Dr6jdKUd%pt z*Y(7Be@-}_Jz@)WBPV^j(-(c|3F_gZG~MVqT13c^zL|}ybMwkFikTSd7pZABNyw>CGLNqrO|p)3ERkb5E|F9{s|c?l$^=VDu*gRFKtR zC81R`>p&PG@{yKA9h*kQ*MPB_#!AiSPq2pOW)K^}TC67oY{15ucy^xl3)9N;Rb(= z5&i}?e+!4dgU=^%hrh=?{s9m8M?B=8@Q8oLWBvut_*cB-Q+UI_VUmBxXF6_y{|Mx3 znUSa@-!wL%Hjs20n^8v+a!g?hwo)rX*hXbnpdJn6!vTv@E5vPM{YX F{{en}nJNGP diff --git a/libs/org/jsoup/parser/TokeniserState$61.class b/libs/org/jsoup/parser/TokeniserState$61.class deleted file mode 100644 index be0714f17e9ae80b98ae506696f031ea42c2c028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1646 zcmah}&2JM&6#q@)$=YT~TD}PhB*7&g28?N;1P7DE32nfs8iEi)NN8hEk_Bfcnq9Y| z5*H3gNL)A|A#v%gNN@n!x)Lp1Qk4`T5Gv}IO2uCSyjgD?5gT%N@6DU{n|bg3=Ht<; zdk+94F>0VA3Wlvw#PCrBjo21NC%Uxij*#k!Adc}F`_vmM(@ zGpy^%p0U2N5(UedN{oBTcBWDz-NzY18JQOhOWT%3lz}Y6=Gv7lfEZR#^EokA zwAER91?(g}8Zl#g!6ucw#Fc(%LzYKZXkqnIvQFn^k>1%@QF?;z)jMJO@-4!`LQW2s z+ikC1?cy6u(l1aO)4z*;4Mx8XP)E{)56JtFM!OM0J=t(iyoLRQx;s8%73l_z=l8Ih z#-_hEj5SzC9{Pq&+)2%mk^fpN(kfUUyB-)yRT^ZQ6z;=-RnxvED zB1xL$6!7{r*{kup2$jIU!*sl-gogMJFhV~f94{e4p{O4kEr;%6h3}>pT+??G+Fe<5 z;hL&F7yF-}9>ISB=l5}f&*3!x6%+h7O!0@1d>$_U9pCUrIL{yB0)K)_{3$N;XSl-u zz%~9H*ZH6Lmj8tt{BPXi|KNN6FG~DB{LEiqj{lE`{H4!rPno|8xAWMDW}okQY(fk1 p%Q1&mY^HOn#}?wG4sB>B8}d$bijfEZ0RIf5PbM~Lqis_Qp1CYbbQieEx#!HBGjq=Ootb&I zyz~@67e*|!#=-D;90?qZp$>=QIE*%9wHvD=M!#eXoj78KM~x$8tYgONve3;CIpun; z?qg_Z%ieHqIjMr<&7{V(a=n@KaQg&9I3x3dp+4(+;zDt5N~m#Xsz5V4vNGosCLHCO zacMHFXI-Dc9`-z;G6l!?1q~Bfsb*3)d|8}N%{$5$Dm5-|3eP2LOgma6db-n;N(m>= zaHegO@N}gwGwUcPr-d4&M0mhp$0|!@2AA+D8Ut3B@EMwjMUF?a(-uH0loU{M{ diff --git a/libs/org/jsoup/parser/TokeniserState$63.class b/libs/org/jsoup/parser/TokeniserState$63.class deleted file mode 100644 index 2041a9f583566b89d346ef1a7a07989c5472d69c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1614 zcmah}TTc@~6#fRvY+F`~+`%FjtCkim7ZtUNKtZjRn-EQi4=(Khi)FW&-D-#rCMG`m zAb-LKpEOz%AN&FSCogA~S|W?E$(h^v_FTR*XMX(p_8q_o9%?un216{2b2uMD1Q)`H zV^9r=5Dm!?hH$YS`291COGv5hu+okw@TgjiX}HY5Z>93!T^&o4D=CZu!&LkTc-pVaY#P$YyFxys z--S%8sF}+U^+Ri3$s3al1AfRsYXr=bWEjHBc3I}d9aClBQZwZxa7mFzEX`W^qU{iQ zbHd%UDVg45GS|_Bs~X02T*Gx8H;~qFQ^ze#=(w$hNla^)(J_lV8t&@2hpdkKc%UPP zIUVyz>sSC)aNrnE#Ic4&hU!zRz^dIM$D%I`tS__V<;!4AEOxLt6x@bpT9j{Pc8Vy29 zo1C94?1i-`tOC`Hg0IHO(D$FXVpRl{X^G*?;gS6XF*G^8jJte|HeEK0>f$nV9PGiW ziW=1@l_*N$GoBed!b0P^O?PyuY|3ZUcx;vWRBW4WHR@WTR2$XXGlomIHYn`%**!-3 z4^L>nQAg;hI2b3c`=yW43k}_=3h{1v=qRc=&`;om6gLhzycfsb}c)?HOC6D4Y@4*}1i+8-= zVjfK54WjKKKLtPl{)jS|eLwlQXyT?YVqs&iwfG?K^-p9%>j2gCQEm5YB}V!TB&^ zh^rwHq9GZ=Fh*K|ou6S`KuT>#l{T%wV`_C#!#D%KYFeh7WjGNlY#PsuRN1iBQ;V)N zt@TVkzRVEF*(JdcDVUa6sBWzaxn!)C>7=t@7mf0=Ax*Wf9|qhF(_zr_mL+7aY&edf zZM0y^_0*GG`CSTt^2cG)(Haj42&gkkN2e$2DYiTvx+1W;M*|n8ytbH+9@XUdL_R(NVx% z9Sg|lxCg4>zyY3!V-5EirkYjS&%?j@MbjRweLf$1=wi@{w&hf}h@#e5oLK9gS)T(Ole3ClItOhFasKgcsxs>|oK5gb*;m4@Y*u4!9z(e}GKUZK1++Juxg zId3oRhIL<9C8`+(UyqZa?>})x>j)~-1BTw_k^KQNbU40@Px~5ewrZBu#br3Tw+HJg zYE+|Ap(u&ZST4Sgg+psL-O&eCQ$D4}V=L6BV#{>vQ8yB$+Nj>1GhDj0L1C}W?=sTg zJfXjhnx?0sIc9p4o)$*$6VO7^fg`l*q}3P#pr;7IM6#QGMaxGIag;``@O%)*Xsvty z25}rGX$PFb>D~X?0ND%B$@Xv!t=XOrO8bgLovCk}8Ntp_4dF-cG2b{0e8Hh)4Lacud-#M>wJW?&6{%b4QAYk|vH;45521~p z!zhnolE-m{Cvlw*qrgXSkEgK2NAZ}a@q~|IonOQzzXY34;5nbfOMV%z`4ryp4Bqi; z9wUj}tQ(AMqYGy|mbTH29%7{pZ_$gh#BMA4DB~9NV}Ry>hdM#4F49D3#&i&u>hmyi Hn8B&v`IVW5 diff --git a/libs/org/jsoup/parser/TokeniserState$65.class b/libs/org/jsoup/parser/TokeniserState$65.class deleted file mode 100644 index 4a3ae6c003db09dd5d753111f104700f889093cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1420 zcmah}O;Zy=5Pbv5Y!VhwP(qH+a=wsmHx}n=ihNehnM|-cu3!1SN&)QNqwi5F_>kPiMnHLQ8 z8Qlw?$W=NnWWwp1*$l1a&{9>Z z#w0^`IpktC0_Mol456%9lsPf0JM0@vsayhmj(DWfjFBst7K!&l*xM$N>9~Tqidyt5 z7*H{YM+zRR7{aiMCm2yNiZK-lXBbCP!K8{Qq*SDxooS3v`&T3tfQZp>w)=h)1*JT&R{X8y{fG{^_q%`Tf*X1uXpm-fIbpEG$*h3@~%rdlB zruYxUP_t>$U0EsWa+e+ed&A%tr?u6TxmC1E^|~r&I(r%e^f)VHCj03fGx`MpRb;iO zqg6f42H`_B`9L(*%D$uOvx~S!BX{t80@rDNdNzOt+@KY36HVUv-;~csJBPi;s7|(h za-s&ALKY-Tk%c_3dcM~4ot{sUp8-xz$Y+l*5<7-3_67c9@FPTH(PJpFuL$_QA$TrS z?}S2xtRduC<6}e)dK1@1@HJOY`%sA{t_Sg zE0=8alu(K6A#S1B74HzY(L#j%_<%cTCE=>kMom|t9UbI-E~=4cEfjI+VlsfZ=cAaw HQ#Ahtx_MqG diff --git a/libs/org/jsoup/parser/TokeniserState$66.class b/libs/org/jsoup/parser/TokeniserState$66.class deleted file mode 100644 index c98464cb9ebfeef07e16b3a4699d4510ec84abc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1096 zcmah|U2hUW6g^X5maeO{RIAq3LdD8Qh0+INLm@TPCQZ;7Y5HI^I$b8P2)krQEf_=p@nb zY|%Rs$_f0_!>H~!K7)1Ox>D79!uKV)>4vA;#jfuS2gQLiL zsFjkU#qcC^L3m~QU%exgu(eb#DP5{cfSPGyJsmpfO5K=ZSep(xUyTB7vO0s=^oGio z`%b`qVNxn2Pzb~$m7cnG&+|#VXHs`OBC~o4a|>}iFtBdnAu;%)9>5G) z9JAz^wA(@yk>DhkUuNGi^EHgPLSG)l^H;EFZ-u#WT*VxDz;(=@=6|AkQ97w^j1Z}< zdL^{87f!vS3`|3(0cc=fM;Z@Pc%)+$YdT6;5531}q)-l* zPc&?3c*>x@vRykkV8~V4=lm--9q#tcP9SZ!-#n_GFeojrCm5F7wkwXu!!sef{LG=9 zOxv@#bHb$^t}ix~U|{bq=3tE=jp6r|FzBeA3BQAX*&93)ZxHfs6fCr+y zx8EcxDR__Jb>*7yX8d1kz$Lc=AwSS@A)8^=EMO?cLuahS#w5dfJmfMOrPbpB59^Hy z#GrS)v9!cHJ5(e)gO7^Z4&zC=x31-QJ_-6>1Ou;UKu47!d3t)Fp=O|tO$}QHwqY9B zLBqflI<22<1)GyV9acX&&@Ia@V&5+jD7RubaWB zyOA=bt1Fn!b>nb{?p&H~C6J(3#|=>O1Qn`)RP6__6h9CPSZruQTrm+s;^VNLz+%}Yvs)5l{D?*q ze+dsh`BID~{s8}z;+>J8(gK_8&b>4Do_p?@+4=G7>vsTolne};V7O{x1Su2Oa9vq9 zV!-}S<)#f}O(Za?oH4aFt}NTY1Vh`5=X=o{Lton2 z5e!|9=ZmG<)|!wje630|-A>^0>MEC>@((8C(S{c?Sc|?dWU0!-P>?&~1ajTp41?OX zz0GAPq`eY66TU~*a>OH%nkrBwDR_lpK7B%Tp>eIW!6kPiA)ipXkOfV;!XvIIHuS{6 zB8Frm%poCS!X)Y07;>}{gSi~kq$|pv5~Sx4LiaSTYLjpazFQ4K(({psHUesJ@DwpD zbYjxLO$)bh+rS+QQ@Cqk8uu&|Fk@hrp}#psYT+%M# z>~PLH-xY zj?;`YT1V`YUc?Lys)~A&bVcmbIG)Sa5vQQmTz6X?#x9b%Z%91dLwghJb(~qs zjn!fO<&cF*xi2t;mvo)HLI$s4;|;NXi&?xw5${pP2Ry__%`;0}%4o$!T+&@Rhm0Nc rV?cM|5U0z;FNQ0G-GV_v2jwYs&ePjZD;+eVn4lXigB+pd|M!ETLDE|G(s>T@!_yNX&2hv=IoX~VPZ5I z4I1^q2OfOVhno1{5AbLBLyU74Qk4RIm^m|ZX3xwwm;L$s`wsx4SPr5Ey+QP$zX>N1 z4&o9nE9r`25p^-3Y=cUTDrrcutBMUPTTI7@j!}ljNz1mpDTaJ5ha?%yG$0Psm5~xsVB! zH1im`s$DBVDH@Xuebp`pUtRwcJxOFhgGK5k(AHu*4u3wCCeXZI2@=A3NFO*(~wpLKJA zduC3!DdEu|`6$*ILMBb5N28s6DC`V%S4WEONT;et)(4IN6D9}3q0_O<3p6xA@1JZN zgp>}2&_uzadTEiQzh(2>qd}_K?@=A;BTJ+L(oW;5Q?|;#I>ignQ8FioiOU%)sY`sKb zq8QOI(KJy!`W5wMXuFspslk`VNNV(@A$mpML0eQSBk-8aO=Sdk(Hh5^rd!c96zftl%A<;5|0*0XckxgHJxTp1u4l t*ox@Hc^_{PUAW-myGRl0(2X8CHNTD>Bz4l4DmG>U6m{>M#eK|afj{ngY{viq diff --git a/libs/org/jsoup/parser/TokeniserState$9.class b/libs/org/jsoup/parser/TokeniserState$9.class deleted file mode 100644 index 02fb4b3fff1660e1adbe7d9e4decc6c3311c343a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1435 zcmah}SyK~15dMY)HpGnyK@bt;ijoi{9ExBt93dzgkP-?g-iBmM7L#3ScSDswg&$zy zeU`Dx2OoX#M_KkPF)9J_uru8~eSY1&KYxAu4qz0kUIftRML$AbT*Gw_2IL)Xh9410 z4a&Euq=uyIhGd5&8=wFrsv{IkqriS z(#Q%1e_GSUN~yRb%yqs~AW1N7WO!kNo0{Y+LbsjQECzK+*M*rZaLW?J_NNUq7u&Ur z(q3$jo0c$R>&8=|YecQt+!mp!I7KoA&oaz~&(Mz7z9sYA6wCI5oXK6&Kp@3Ex4s%Ld9)N zDwtAn2NbelI;LV8cU2@Xqhc0u6?2$WF^`mrMJc<7`zn^?!vlFd#0*1kUGNyX>*y#* zGfbV-<5~#*FEKRgAlg$C;22U2ie{yXd-gL1S2(iG&{<t38q|f*Sq*n! zb~12_qDF0PJD~_?P8YaMt>~>+5B0%on_RavTQhV9Uy<9Hys*;3rWs-gWM~X+n&;fA z(6iK11uIk$@q}`CJ93Ku5Gjyrg{~D|q)AaKerc}5NeM@zI4ZY=XZN|D5$pdXq0Sq* zl9e=yMWIuTbvsV``{-1FWh%7LC!;?*LhB!(9|_PvUkieusU~U+Zn)_73`V=ySFn$c z#sxZ?NCS9|Hab;@_Mjad!~vJkS+V~?{-piZP#Fye=!g!M;fe;`Wi&=Vp{Wez5D9wo z9H2GoDx-Om#9l`{Fce6Xaqa*?X`~*h`wrp%!=5k0_cxyj_$baH6uh8(UQz|G(1q9Z zmwST<-eMf@Xv^NyYJH#u`h-<{#wNZv`S%>eSFpTmyR0OSjv> X>LO8{Wa+0HvmV^6+(|5B!R`4Cr$TK; diff --git a/libs/org/jsoup/parser/TokeniserState.class b/libs/org/jsoup/parser/TokeniserState.class deleted file mode 100644 index 51c4e9ad0336c94814c0719dcee6dfa20d01b117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12464 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 bc{^tZoE~s;z=;9N0*;ZymsmU764m|(OSS7G diff --git a/libs/org/jsoup/parser/TreeBuilder.class b/libs/org/jsoup/parser/TreeBuilder.class deleted file mode 100644 index 09223d5e5578a2b02542875109203908755ed972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3744 zcma)9X?Gjt6@JDZd8En25e{}joH$Bif-Tum(iYOzA!NaB49Y@mY|K8Erp_et$Q_M< z0A1L+KnsNyTDGt!z~KXMVwnTyaQMux;Fkc;of%1EkIdm5>0R%8@AKY!pZiMRe*fjy z01n_|9iu2}uyk~wn8FBtuVFz)BAA>@!q#yf7m_GzSk$orjtEsWEa~VDCV!9>S3^}t z4?LOFG(4oE7Z1zi5os>!codK696c`0AEo(|$p2YJf6-CG6Dc-NrtlP=mJ`niqQ6S> zHywWuM*k3CTuaDWFP@d=ISv2R@GlL|E9i19vt+pnb{8t{LjHWUQd`O|nQql`^T*Gb zu37Xf_pC27rXb~2E?ADuO$FQI2c{dl6zwckiVC(xgq%vrs^)L46l;r?<5470^~~Z0 z1-*sy=0j$_=Go=^QP(vu7VN6*r>5)$$MkBhrC@(MnL{z{<7LZNewfF#d9!NW>Dmf< zg2QFgS;$X$uI(&v+bGstmq2{b3bsach4=S&DA{GXZpE!C*cF#KBd!{k{SdTV%Jmc^ zr=*`Y7iekHaV+@k)#$i{?|lVFewOOt2f*tFK1waiP!>tqwXr1wMD6?3r zdKstUW#+AnQ!BF$|J%Tec!?}OCN<&gWK4uxEjz1&EQtSO;1~F%f=o*&jOLmmX<#4n z1`gq77QdLVe?cjqqVvB7_Tzwp&26fm?7wW_SGdu@ukjlVuNe3r{%_zk?l4fmNdspw zVc=D~W?&k38hBksZ{U)Kw+y_EO9p<6F#~tuUDd@lkL? zG_eDnWAQp7Wuh%ZxIWQ_X=`FL7NJUbtuw33w_iGkCZ&sK=W1Ezxl@_u`*?xRiGn?= z*wJ1)St7436QiAQP!`Bn*Q#3dsOnu@qK{Jk`m{f8^F{}hY09uj$5V8T4Bv?H(-Um{ zr)7WC^WozdC3<+3P=_fm=fJw~2dR<*>m*8t@P}=7E z#~ReRATI1>C?i=E=9QY^Z>3TGmP_$Vwz7pVk*z8$_j@uA3U1=K0|&WI68h^TmEV)# z{vJz|-?Iv_*ZF06kf=SMd;5cr>?VPE?`%v{&{-9I2R><`vzd&lFM`ugD8|FqM5Y zIy<_IYq-!em%WPg=n6J3<66#p=hB%K^etmcc4Qe_TUhq`uGxkz^b^AlY{dWuu@l3{ z&<(qI!QDi($H$lraD*6%2&X6`*Dm-@>+nb7F1g=noC$Amg6CvK&*nzHz;$(O`;@c5 z7hV4Oy}tfTAl1~bH}&gH{Va;1)(5Fo{F0{D(K{pK84K4GlkNbquZJhm(YHihelrlYUTfAMOwRFcUg|fOp(d z$MB*4OY}a+{c5R>>^I0=fvU99PyU^OAxzSjjX;C+3Migr;2*$))ZGD-avhjwOhCG+ b9G7qlQzF6sIQysAzjhbTV0&E)Nd5^0oebm=JFn=IU*J!tH>E zO?zK9`fjV{i@>WYCDkK_TtoJiD{8)uGWD_(I7*0TeLwJo+R!&CTQzh8+4IBZo`_n~ zGq7ghrioj)ZQ=qhn%IDC;tn<$X8)bc#9i%nPs4o;TN=u+85XG@cH9qp&=331LM)1G z?uMaIm4NqpqQ{UQB|1263pZkzKPQTT2Mh~moX)g98=nlukUrr-U*}s{D;?F(yG#Ad zG$O7dhc_9P{>R^t%JV}W#1p2Gr>mhC-!>|;(-9$kSGLmPio20e491Rhqj*7*)q@(t z%->7OFVKFPw682*&?C|e8B8Eg_7bTdND>3Y7qHWBxlc%Z)KBs=QmKRYNIj2bn&j9> z8YI&rnIUP6WR_%RBy%M51Md$=Ba3NV!59iy#wyt&ZNnDXGM-|GY!xriAnV{2T(SvF zQhDjP$XQGg-zHTcJB`bP#UU#XS#`*qA@hbTi5cPvszOIe;VR)O{U+&boGkJg`n#5} H{-p2=m!jl= diff --git a/libs/org/jsoup/parser/XmlTreeBuilder.class b/libs/org/jsoup/parser/XmlTreeBuilder.class deleted file mode 100644 index 8cdbd1067b29694abd8d7db8542cb3d9dff19aef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6538 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 diff --git a/libs/org/jsoup/safety/Cleaner$1.class b/libs/org/jsoup/safety/Cleaner$1.class deleted file mode 100644 index c11f3e8b9cae37ed8288dc48819e84cd2e0f2d13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmZ{eK?=e^3`KvmI<*RRDXv_&cIX+3f(vos3C0?0%P=FIR`6;rJb;H1Be*po{}agj zOmfS{akHw;%@C$*S6Ck^SMIpI_>)3HnER&Gb@1I) z2Xp53u7A)nlYp%gJhvtU4utfZqpfkJ-XCi&TEgrfo-RP>$#dW8OGCB@1Mvt$(O4#t J8xltve*phtFwOt~ diff --git a/libs/org/jsoup/safety/Cleaner$CleaningVisitor.class b/libs/org/jsoup/safety/Cleaner$CleaningVisitor.class deleted file mode 100644 index 0eb863532e520609114aad8ca9c6d115aa2a39f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2859 zcma)8ZF3V<6n-|@WYe&;ky0Q91T{dLP}1_E*dmGrv{H)D(pp}-O}5FFWD~MmETSTx z{RRC24&&%J;|wi~&iL|C$ItR_9G|nBCY!c#oXp(4_uTV#pXZ!=^XET5{Q_VJUv(gf zu{ej1WOgZzUX07^vJ4X%uEg;%uEwF^S{##@lI8UdWHBwW8JT^eVK$B~+=$~QZprMn zhC8yjE5lqI-7sXhEhh6CavJg)Oa;2VR6cJxIir?0^9qzP1!}EQaTO%TE44y)(Wxv| zvvwtKI@t>)vuxV#h=Ofgx|VIYR>f8jb&Hmh8dT65Fma3p(|wp7Et!UG)@TzwW7(E_ zR>76N_G*Eh)|hQK`lp%kDDzX$HE!AF#8P?QtW6p7B}#UTS8_&a+NfEwt_xL3m)c%x zmR*>(9LufLh{c%AR7XpOQ=s5*`#=Fb2I&ykM~ha8kzypKmNPGu6vX}Ml(|gWf*kk>h}=tpM&iKNs~ep+ zB!kUHA`cq*dQm@;f?a`>{U~+iNZzcvMdINaR!Kua!Mz|PtvHTs^0HoH|7WAsS88ZP zFb*xV4nxaBG8~uTgo1qmZ<~w=pOMR%j*~huNYjD#*=}OJpUo1V^k}$fNxA9uYCpDU zJTP?Z!+sraAf@9qye_k%j#qI&$3YxWu)9rrX|QxG;+~EY${K7P6;yTHM@@$#)-ING zJivYhdp5dQr&`CSV!N#4A<7c@vn`a@Dc11_pX>NSG{2PL5gse(Yx>@R*@og*kdWhM zONL#@UYTDsbF9LB0c*2FQC8}s(P^o`cFR4H3KTrcvaK5V4fhG(0SH>tZ1OrNyq<2) z>q!6R`j{zNu354ix$HF8C`=e-^1HLIf4q6tNw>z^g9@9|Y?!lWEoYKPoHE!7J$;+a z`)@Qe9g<9M{zs;PME$N?@0Tr(P_M-xqRcg9^1|3=RI8?)uiqp?!GM8g4*G13rl6b8 z#yOV&%sYYCLob-_OtHe7*1L*!HtB1+C7$z!V_vUW3XW`n#}){Y=4jQZ@#!Joq+lzz zJX%bG_(U}l@vp7DTNte)he5uwy-=_hDnin;e3f@dpYj`$Rs|9X>0quSl(3Od^mC}`@G6w_(N#p!1FMMs=(#w|aTiU&ce?}Q=)_gN#MiKgkNFWw4-X9&MQY+wx?YlyGlln4f1 zVB4^oRG&c~j!+OyM%J)>CO!KMiby->B-vzyi9SV7h8mG?u-)5MW$P)H7^7_rF#>*^Kt~woI!<_yS6L4yaf;wSq3)ZUsr0rNZ!vb5 zKI3?sGhzQ_gSeL%#t3N=*%{^=;{2U;;+RFqBRb_1cc2NCk5gw_0A0hLmcr@uZ0@sI zYOFjrP%x=R+*BiO%8#1>b>H<1hN!7t@x{`aqXW+oY9bu?n3*^D?hAh9LFQuk@&q)YU`N1H%uRzyQ=^=dJjUOV-Z!Zs; TWQX*#`Lg^D65_LzBN6)-Ml-^W diff --git a/libs/org/jsoup/safety/Cleaner$ElementMeta.class b/libs/org/jsoup/safety/Cleaner$ElementMeta.class deleted file mode 100644 index c9cc9a2ea2855701f9ff050cd51f6cb23f25d32a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 548 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 diff --git a/libs/org/jsoup/safety/Whitelist$AttributeValue.class b/libs/org/jsoup/safety/Whitelist$AttributeValue.class deleted file mode 100644 index 03c3e231711a29682f402d515e7dcb1d65d2d298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmb7BT}uK%6g{)9Uz=%dY2{N71*y;yJsL&`eUQ|HV)Qubs3Y61?1$jLswbhKAJC7A z?yM3;AJog-Irp4<=FYt@uaD0F4p20pV?Bw20ZqjXhQyI{WKd(s?=?nz!Y!LS1FIQ$ z(iv1sZ3eyW_5?$&AsulQ-gSi6;vJhZX2b1ryUjhR@FJ-PL+LYQPXco2gn?*tJ0x-D z!f}LGx4G{N;wuf;8(1UX4ab(x`y!ZHH$xc+Tl&Gy=h`Ymd@?sNzjnxwjL7Rg!|``N z_}4>5(+$0@IF;&u+4qk2)nGD+Bay@wL+Q`GGwlANZB56bx0sLd5fpze!ZvMAr)7d7 zR7;={(5*&TWfJAe4D2D|Q*^3LLpwuUJ4c#uVXmV5G9l6 qZp$;o?g?llQF0=*%g8D-7exk&HzU;=G89e18uD18DxKn{o_Yg(9-FQJ diff --git a/libs/org/jsoup/safety/Whitelist$Protocol.class b/libs/org/jsoup/safety/Whitelist$Protocol.class deleted file mode 100644 index c981c402fe254812b9a4408e32c9e7e6ec3b7645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622 zcma)3T}uK{5IuKYb=|fsODms(3d*1*dJ4lAAqbYfG^59>UiHehE4!=Uzp5vppdZkW zisr5sK_B>X=bkxdX3j8g@6WFQj!-nAV=aw>2~EXyhSaI_WK?0u?>T)w;2=Hd4FSAie-E#GCZ&OJ{A zRhNgMAZFL`gRb2V{o%k4c}GNJ`>rP=;mR=D`K&54BuCsG##4T{Vo1m2WryM9H`jBH zFl+uWXo)kawpsdeai|7bNFtTSCd2j|erc_LRQ2&dv>VfP%q;`W0;lfl!`9(sc#}cyC!@x3DX1$J)pdXNVfp%Y- nAn`~*BZ-m|q20!$E1x0^%Ah3-3JhO_AXw}{F?zh}b-l9g%6cUPcHz@P|iTdb`qrwG!=Ik5?9iZL4%=qWRCfa8#Z?=qaAqC zvFgWN2EFMH1Vi4Gj%bCGp71)nXH%wNx_xeUxhEA~CG}t=eTHO*TP;2zR`$kmgx9pW z?+YqaOxLrFvG0ac!{WL*#M(lZVu7%RBG#x&r?{)9-T_vcj|Kn$ diff --git a/libs/org/jsoup/safety/Whitelist$TypedValue.class b/libs/org/jsoup/safety/Whitelist$TypedValue.class deleted file mode 100644 index 40f4e7095e4532e93ffe05bfcd5ff55140bba8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1135 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 RqO@9Nb5MQ$g-B@*`9DH-92)=t diff --git a/libs/org/jsoup/select/Collector.class b/libs/org/jsoup/select/Collector.class deleted file mode 100644 index d2975882f56e23e0c91ea142cf66d3bbbbcb10db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmaJ=+iuf95IyTSwdFtk0e&~Q-2GY2M~>*dhG zk%eQ1m3O|Mj?<7QQZcw6qDZK2$m3YV3`=iE8tC}!9z#m=eROT{Nb#d<`?CBP!bVPTd!)eF5e zU9@n*u>J3I3~O4Q7xL)J`!pQUY#1(z$G%o<}S zS+&%^dJ&$9&}f38fn~bn`Z4IGzJhKhd9TSbvelC**!4WTMyvi4KroYl>-6PjAZ*|v zdCSNTrbAmSqLa+L`|i8%p7YMVZ@&Nh@)f`=?rG3rXqdqj4V^Gj z{9KivtcGitRdHQ|iW^DfG|XXM#e#~P0*PhYwS$7dP`bEdzA&@3z;?2$p5s`h!1mmH zW>X-(>OHpvx{9`IJ*ZW-EdQ~&<Lbv?U@Eym?-R*nHPnVc+utHbG1DQ6Pp$hd?s$HUgjJ66j55 z>KZ$yTh7+KvThq*%`aK^ZP_6M?d82H`%K3voK~@@V+na3%b3v7k6S7VI&R~Rz;Iim zGV||?&e)s@qKfTN+!%|(XLXYN!B)84v+nC zYlmH&kCX^+j|`&@id(A)^tH5Mm?~O5`v*cjw^Fu<(3f6sRW^bU7-@3fwwztdk3@gM zJIey?c(yCBe00L{8e=FKO&zvU)BgQbkTamF~%`5ZG3|GKubY4zgp-u z(7_+i8P5CbQRqP*XN;$300M)wb&hq<5UpX_F^u3PQARnJC@b_xl+?8G8L>}LBv7mc zD2pU1Hi1$NpcH||m`2Fvh|;|#$qr^Pl)~8bN5tRaB8QH#10=pdU5XFIjhO=^-=IU; zf2D|bzkbB`8-T;)4&->kIi6r17qEZ{&NEmH3FMf1fM*)#N}MF8aFOc@_ZSUQ1}fjz6g_Y387IaJ`5*~N310y+69WS!K*@yA5CRz(NZUXnno`wC+`*B@jyxVD z_DHN*c3V|q!=gxNs9LpR&2Qkhw4CR0jL`(j!tcxXo_p@O_q{j&{`n7pGx$bF56*OB z55APcSq+mqRGimw0bj}CqR!(fxhiXz)}iB47iKhE*6}rFHC)j!Cy<+VJSUtH7%o&d zt%p{r89Huh&UamVJ#>7pTwE4V=ll&@U{BTY?Ay)ynjPG+)?A+SRsD6#UA6*8?&Cu> zeBd+$GK+zLQSm%Gm~*X0!{%9`>Ib#bX2Wl8l^V7T!BF)zQt)c?4=uN8g??~!F(?b@ z_V%8BgFADRKRzJvXlt9q-IHAw!=_oF;B^+GSG`d2CkxL zU!5=%fM|c3LNhM=}d)vDKPdKhGgwE>jDF*9-IvV>rvHdgw(A6{Y6WTX&tv) zieFh)F2^>Sb=^GR$Ud|+WCalzK)_I^%NtdpjI%%Zj*e-JJXFp)830zE* ziHp6Os(%cU#*M9Tn$J!TpC};9kCj6P{aiia>y+Vqa^e-l#7kt<-!RBo`3vej^A)l! zJjL-4EkLZqz#mfg9!HHkr?0xEoFB3 zn0_vy-$u$a4d5=iv5ehVNm0%xl=B$F(TE7!HpYEQKdGas%#2FWe#H?PVYG$r*U+cb zVbwg*!meMCRi8gr#Iyh2D$f)8ZOvBs^#6b%+$Y^18DbSh{1g$GB=iu~8E05ooN+2z zjEI^EDH9VgBW+A-ZPH3m+fy;UG7+S1y?uuIH+J7sB)O$OkpDd)k&6uMlzzQ2cm}1& U>NNIomVF{SXNWtM^EvE$2c^fC<^TWy diff --git a/libs/org/jsoup/select/CombiningEvaluator.class b/libs/org/jsoup/select/CombiningEvaluator.class deleted file mode 100644 index a4d4afc0fabdf3b7eaa57e81ad5e970b67de5fd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1598 zcma)6TTc^F5dO}#P`j+Q6etwSO)kBlR0KsSqP3COSS1ky(YI~8DNDAy&F+>2e~hob zY9b}k#Q5xwGS0N6t+oOWd(N5L_sz_iv%h|S`vG7TSs5}`{J4&k4|ipFn!>6~niUrB z@o9}u>ptA){Q)lRPrVFqS`3 zkJVJo)s0lfw$+oo?zm|I|DIkpRkvnq0&D$zw(^!;P8~T`t(tN)Lo2$e=jXWTZ9?#v zwTghq2@G!OrtWT&DxTOE@Mf(Np$780slBdM3Yz^^Ef}N;<*lM>?5noUa!cuT4|U3O zv6n7uRSE=bmOH!xk$6|KS?)3p*EFb>N*TkrVDjG6;FmRO?N~gQXbzO2n&s4P;fRKl zUy8%lSUlHj?CbA!^bgc$dQCa+Ed2;%`e{fAa{E9m4Jk}3b(+=z`l#__xk;y&^qUa0 zk0s9_lAcpY$?x#IJA?NW17FA>Axdiq-qsp`zX3doDbgs-U`%6%BnF9^2 zk<83Ht&*a|Dt$zl$@%Cl)#3jM`4hb2Gx;?u8*EfC)m2Tj%^O3!h53Roxtd@HjOrOW z=yXVK*yj+SEITy>+gL#)kZf?#EVocMDTbS`BpJ32h1&lw;u3}s>&i}PAxgO2sNoJ> TG~bVe8`Q%9b#j>Y5GMWr!sc!< diff --git a/libs/org/jsoup/select/Elements.class b/libs/org/jsoup/select/Elements.class deleted file mode 100644 index 079d10bbf78fbbfa30e0225ca1d0728fbd1ac738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 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 VN4ciKtK-knZf?WZ37do4{|lv{uO|Qi diff --git a/libs/org/jsoup/select/Evaluator$AllElements.class b/libs/org/jsoup/select/Evaluator$AllElements.class deleted file mode 100644 index 1d6370a8638b6e9d667b44a41f551515281da008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 654 zcma)3%SyvQ6g@XdAGXzMeO5OvR9e9X7p^LzlnO#{Q*q&Lj6+SCW+a*VRW5WTxbOq~ zDDh4kBnpCA+~+xG&SXA5-`)WnVyglV>t$?|&@5q-P&|&}$ea+|R{NUZ_4J)2)PpFN zmy_|WOs>SO;z=XWp-|T%iEN(@J#!zWgzA}6eI>^-Hr&-N;#ej{I6U?d)euS7ibXHzy*8R$t8%JaznfrW3|9Sg0YfFgnR348y$Az|}x zAis^vPh&q9WVJb#xbry^=feIg=!FXhWsY_Y+Ql5#wHW{v%yY+1QRisMr<`5Rj`w6^ zj@h0vw`bdoX%UN9nyNWyaOH5ljFn97fU~vYHk{{Qa-EzJHfgc5Pj>oaqOD32`we%tCX}jX{p750}4VyRf~`!IHalsRS%o6Bo2-j+3QOD zCk`O-B_#L({3yh%9nwG>iOcTH&YQP0Z|3K(Z$ALs#g2m#uGz3~-N6m4m2lI-x`SJ& zTiCF$$xwJL-ZE6%Lw>^jkVk#Lqv9ayw-|~Kf+$cA8J4}X;l?3@xhr1^hJ|(ziKpqP zE8+v*4e6!YmOUOG@;K1`_|a5@AYrf{Df*zBD#E!>qDaKMAx{!Pq0P38`~EPI=^H;0 zq39`p?}UdbS2C_o(x@_P#8q#gQ|@_FIT4kU_aM`l1F(NDq5FpB^)^gB<$|mxaENV5? diff --git a/libs/org/jsoup/select/Evaluator$AttributeKeyPair.class b/libs/org/jsoup/select/Evaluator$AttributeKeyPair.class deleted file mode 100644 index 4e3b971ffb44dec057d10584feef8c751b7eed47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmb7C+iuf95IvK)xwviw|cw%A(%O-AM#l$MsG_0p#p_IZ+ z9c*a0rQx=QO?_5QqLM_F5dSDo2)X8wI2N`myq|q;B}^R)Hm4l^9{^HKMFeXrK3yF{-ti~ z%UZaGS`u{&Ti8y*wr~eK7Vc`8MTS5n3-@r}!mfq~cxd4f9$U!j!`gocAuL|aW(Uf; zV+;Q%ed!KmV7G+pbcJH&DbH62gP~%h<}a~8r)Mwv#~yGq2ZXtDWzr+UwDOz&C+@8X zxq=xg5vcIJqxx6W_`oux*FC2sT-=`d=C<7Y$2mm7^sDjMtj>Sp-C#&~dl z8KGOr$gO5Ca*WqG`V0ecp7*NXK(+6P)p=BFBg98AzGAALON@{_MRB}Hogz~=>La9$ z?g-}VDlgB7(_i=}G0ZWRkm4$N7*s%tim+%A1zJLdma$7KctNX}XWrUbVdSyE5la{g ZrSVEjjq$h0Q4C8c@@%qXeW`+x{sXcw(T@NC diff --git a/libs/org/jsoup/select/Evaluator$AttributeStarting.class b/libs/org/jsoup/select/Evaluator$AttributeStarting.class deleted file mode 100644 index fa4dfc3c3f96e282372a36992579817b2501b29d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1580 zcmah}NmCR_7=77Y-33M2N~>t&GCFPz0__4W(BdcqGmI@RZD^>W5e24D*i;!+*@j%y zgX_h+zrc$JjhMkD!U@m*1OLo8FRM42mhe)Q`Q^8~@4YYc>wlmA1#l2W3v1EajuiG= z=tIAS0pvPx00%p82#57&(8Q31HXN~V6vx_d+{Cb6j+n@sI3dt}M=qWZ$z%FU}LuRxaYEfG3MWr0&5GdC#T8_(=xc^OqXa$7yKEg zblC}9y{{S#HRpx`ou?EFOqZ1`Dko4ZC16i_o(#rHP8dqM3>5reHa8#o<-561mgJ1e zjo))hWk>nJ?v`*OH5VK;Gp9p`vddyU!V7cbCAlCyHL~hK&oz?a)KCd*Y4NPrWGy4` zeI<}-ajMlJ9AefbNuh?VajmN`SXOQ+S8zkcL|x4!E#9pW)xW|w-%_f9XOxNBlwZ+I zU_-X2RVo3i=$C^TIpJz?Qgto|wCFa{7`3quohDA&_zkB_oVGEB-%X6$n7|(<{4R9K2onLc^j4|t6Pj{o4cUtcy=)sjCLG(JozzDs~WOb--Sajw%?&+i8ACTNfGZ}q;1 z=-vMhV(++%VI#jO`T`GN;33-a2wmKDRlKnY-P|!Q$|{&`3$|8s{!O1G&+>gsh%dpI z>i>v@z_5`qJ|Zdb3cK{m6!?O+;Y22}g!WzrEx~$)gz@I}_iynxjE_esx}#i=`EEYJ zUOdGRp7G6mj$yor5Dg+hdndMGJ6Eh)$Ck%0*g;I%wv($Ea}45F>|*BKwAwtYSoTD$ z?8Uxn2P4d+<2utF#%I`9;~HM^1J=Byu|iHVa(Ed*(23|=EgVBO^6Ei`e~V{Yg3ZYM E4_W_*w*UYD diff --git a/libs/org/jsoup/select/Evaluator$AttributeWithValue.class b/libs/org/jsoup/select/Evaluator$AttributeWithValue.class deleted file mode 100644 index 756346d3fbd59203efb0a48dba52e2c8a936d511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1231 zcmb7DU2hUW6g>kATVQP~wo+@geiX`AyH;DZ(wbCK6CzO)OigWk80ZL#%dYM&P5Mvl zgD<}L;)5mzjfwsMf0XeKAYh@1?!(NTx%ZxP@0q(le|`G_ULt%HtZHufCbh$$YW zcU?g-deL^Odfl~~uXI2NcOY+gTXS&oTI4ibKgeR5?RHW)g?m;9jLB;n$J_ z_!jlx>f5Gh2+PZz=tw=IejVHP7|xv-L?l$L1Y#KT?2dR0Q_0k*!onrH=~TphLrON@ zYj9cipy3q8HJn9E#dQrgu&QAOF%4_Dsp6J~+nCp|j#Z-Ei@Td~_c_C4zxzk!I;p1N z4st3s7?%D^P=?IE#6J*+kGbIxaqmrfSFt|8UkX#bHSWrIhUpQL*4CM~-HB1|Q9=&% z{YP?zW~@PliPueTx`nD`J0j0r5<2+8c4!h9)pQa z^MlD}q;-N$1v>j_SJRp77qCxc`Y=grn0DX|f;hryvMzPP5XCf|C_#<^fk=yHfTC#z zG24aR@4_as>Cf=B;6K6~SxWa9Xd&2wdIVK@55@n1P&%x^Hsad>#zc=Xf%BMa`xCf8 zmSnt$`7Yx<1lqot=vd%8Lc4xRT-sG6Yw0V(ACGaoYjbFwoGyotx|Ee%#uV*QvLaZ< M8R|=;eMJfV1`l&7n*aa+ diff --git a/libs/org/jsoup/select/Evaluator$AttributeWithValueContaining.class b/libs/org/jsoup/select/Evaluator$AttributeWithValueContaining.class deleted file mode 100644 index 64c707b279b76ce6b8b0d4c4503c9be48f93f72a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1291 zcmbVL-A)rh6#j;8yQN(LD+mILKTz6&tf+`sAi)L`VxuNC7$jay%h)b1JGwi?@F+Zi zH(qFB(3t20_#}GajSpZv)7G{^F~+@^Ip@ro^PThUH(!2!{0v|g%Q0BE*o`P}Jk4|&n0NFpyw++F9sqy0wEP!%U&7+q0RvshK)k)tZ>+^ve7^b{v_ zugqYrd7kidE)N1h*$a8;m+kF9R-fB}a79VktGjfEE9sB_tx}dD^i1sOUXDz|5Y{!Q zQFDi@QbhyJrP`1@nk%qZU9lrPl|A+#{g^oLrBn=Oj!hyE>RT6Lh$>kpl%YSB?$lVU zAgg{!+;KFGJJm%)$@`EiB*`0c}nMnWc%~ z2}56N{QJdiBG5t>izb#B=KqshhN*wKc~|T`;Eqo%G=EexG}tQe2ie3{g$FvHVW5K$ zYn1caakA5KCr;ZK_|1M?$-I0?I^zNH94*xaNHQ2{FPf`xzaU;zg;x?;jU0I@eNqg` zvOTTwMmF29>r7`m{^H@*=!X?euQyJQSAQWe{kv)HC2x)V5bb7WYWh9cTQa-QM{A6B z;432dhLdESucsk_0rKdAmJ1cp7RiIMNvjxcl-(jp*t0Y2-4Fa8wcoo#I^l*G6XGxy%PbI(0z?tcCC=?j1bti@sAQVa=Pj$;bb zYDvd2gN%x0l{FhhPRE=wujnv!TxE!?T8<@eGt6X)JA9X$Hg~qolJqQRJAX8iEi-8A zZcQ)@6)i_RXf`Usd(0~~MUq9g%Iz}uEakU@nygzs!`K~3H7iXio>;P8=5|vQoEm{J z7#ofwymg!VzM#zIqU&v&JHFd|Y5KwzRcRJ>DW6N%n>wyao+0!??5Q4(uwV$Q`_!P` z;Idi|Kr%fj4)O8Lf-M@tk@;f}vQLS-=em;N%&|!XLOrWO3{mN}gk%`WWcxK1FS$*x zD(+cIzQGR7dBwrN2@D!Ijg*dS1{SeoU>VnS+%RwxlLp3+GO&Ur0@|APr`D$ZXAHw# z`VT8RB%Xm=$m>{TSo{xN8FK$}>%Q1~#4V5DI}g+erMdrX+}sDScVrG=nASM$z&Awj9Vf}U&`LuRqvX*AH4Icl zS@ignO_PZ6cG(*Fs%(00_B{p;5ZcE?+tdyareNd%`aX2+HMGzh%50%Vf{H(S5YrvR zG|ploI8WmoSqkwyCfkU25f0AAlF{&I#5O|;xU{J$sM1Ho-yXvF8DJQ#J8g^sVyQa0 Uh!NV8WF;_p$)bPCMoKR|G^jd z;)Bjeb)3-;@T1Uu(m;cy4?c9~oU<=$pS9QN@4X+t09?gG1wDu>xP*i-$xd`5CCs>j z30xLtQh|mm3I$*5z?6*ZVm~dSZ^)RDag!nZn!jg=(gU90G3Nz1#oVV2Si@|Nzp z+%_2o8}6EGR5Y8H_&e=s!$nciIm0yE1%}B)Ymv5j$rT1EW36+Bo}6Lw$F*vK+t2hu zg-&8QtEg92blVVn|4?$vhQlzl=u&@$n#-RXZh1wo)c7OaEtaWe26fpqxt*!#j>9Q- zCTH0tZPT%8Tbjcwyy$A#ZOYJH%N}iCM_j!sYKj`ui9ivP8g{g7g;%-hrrSD_FX(c% zWx0a6W($Y234~e_g%~`H8O8umH}lN&>YGHUAyQKK}!wcra=s&4&qL)QcL! NFntyB33i7t_!pa0T4n$M diff --git a/libs/org/jsoup/select/Evaluator$AttributeWithValueNot.class b/libs/org/jsoup/select/Evaluator$AttributeWithValueNot.class deleted file mode 100644 index faee62612cc42ea981e6609b8f42ddafdb87a1a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1190 zcmb7D?QRl56g|T(Y+2V9u~=HaTI~lE?6%cv3~HiHO^BqLU@*1u$ABX&F1xzBH0i7O z0{*FqO$-_neE=WIcn1(@yG?X|%-or|bIv{I&i?xS{U?Am+|i+9HjX&vCj=x3v&EoWz$xi{3{i5+Kt%|f(Xx5f<`LAGy z6h<&kqfRq$fEYeuf}+`88WK29E4mx_0jx?q*(>+h)B1Mwp5-#^S9wFL0OU9x2gTnpgMaxBDm7cx{4&tNn(g&8Rv*sr}>5&{{t6vBR2p5 diff --git a/libs/org/jsoup/select/Evaluator$AttributeWithValueStarting.class b/libs/org/jsoup/select/Evaluator$AttributeWithValueStarting.class deleted file mode 100644 index 96521b65550fdfae985c2b1ff821197f44e1a7e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1257 zcmbVLT~8B16g|^!yRcmWD_E>3e$dhavZ5ej!2}5=#70eOFi13+mXR)Qcg^k;!%yKC z_~L^mrWzBCKKR0qGTv!xTcJ&i`!I9wojd2;d-l%JuP@&K%wffVi7Wkx;i`cNq|}l& zFo}$cWtBD6hiM%%%Dkq-(s7+3x@^0)yvs0|$?x%fZaLiDwF=U=-QC>DNOqG!Tl01V z!(iTa#lvc)DEue9=ujk{_e$K^Ax5J77qzO2RBwrFd$~@+Nnxq9D01iH5=4 za9!cAIXnmiW63;aB27)p4Q|hKNF-BJ~QF zrLv+~$aL_y)Kg%sJE9_7nd^CweMbHJo+la3^-LlXs#*at^hvKFCc|(h+pRF8;8p#S zxNj>72U?BJsvb<7!hnghNa(m>;wI)zEZ~-oMH9C%ZekP(6HAyUqU}`hVkH$kXBcX? z|ERb}@|n1UoQ`Gc`M;E9nEsc055&P^Zu?X~>nF8Bi8jDrQj=C?9;keVkuD=x7o69R z)7_4{DcaHhAMIn(%X@EV#&|#~8-W_VKusdOfR~<6Gr_Rb1%JB(zoBKW>rYI!+dDq7 z^fqJkG}RXdQ$Li}LGm`p57VwsP0xG+`#@$0L$n&S1K$zF51c0JQX>sO!iN}ZnpzDJ3Px+t520&sp@rX3W`i|aNBr5rm~Jtq zaUNs!^E57yr5G<_yvcYEk^0$ayf5+<{aay0T-eeSRpB#?_s2Mn>Kta{PLm@|hSuxDw4E1HwKBx8n2K(AI6aWAK diff --git a/libs/org/jsoup/select/Evaluator$Class.class b/libs/org/jsoup/select/Evaluator$Class.class deleted file mode 100644 index 62b08df35b47718d88c743a35ad4e5e99cccf344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmah{O>fgc5Pj=7aqOD32`we%qoK6mq$L&y4k(CA)gq**NTjNOs)vnP5=V{~*-n2I z2axy@68r#u6k^skZJ>#`?C#rn^JeDl{`~dr2Y~x%TPWj(2?IARtfNuJEdv`CZe!EH zmVrAArWf!yKHy`)Q0tEPDR%=N4%}W6`Qf0$P><@--zdcKuKs zOvZf?9rAvV%1Mt0M?CTs&M)<3=*JAjT~(IBej0`%N`WA_(UsA_9mR6;){R9Vyu{r* z<-vp}GTKa8)R8gfi8oaA2hJ2fq&8xAFA!r9CY`x~<|}GBk}_ea&m~b2s;-0>%8AU( zU|4pV7d>FGdU6tZV&7L&SI!!4D>rQ{;I0i5mI22`6D@{9dyAT1Iyd`Se?+4i*tW5Q zdkl^LxxlbCpF#y3^)RdFl)t>8k%m0ZA7JLIl0{S9{h7Y>Mn+^k!^0Ur;dsiJY@E&v zujo%2^d$iXO?g760-YCN(|U=}KHY1yTdgl(t?f_HJ`mDSp|wI>;5l^kDEAPHgsx<4 zEa5UC%1c!lsV!qA*L*@8m1*v@K0^D9!aD+)WQi!ii&UzSkdf|Y54?T z!G_;p0TKj+1RuahA@0OU6Ivp%nYoX1&)j?N{QCXfi+yrAcIQ=E@NG} z8);n8aaEa?j-rkdgAocIIIVs0Dq_gj+We5)9`~DeJqldESz$=sbA30u&#+*fP8Sat zl2!RkFyv~kFCKL}4H4|~hDVWnO*-5=;DM|BK`p>!=||l4!@VOve%##keGybW z9)^Md<(dqdb~}{a7j`H-;Y9Y%A@{mGlEM0kV(L=w@W^SY!rRtZrBAJe_Kqhy!jCEw z6U8SqMj$0=P?!j!N2m`)#E_0;ED*!IRXnW=30s%lz!48zrNqo}>sv};6IpEPD4V#3 zRTI-Nb!?fim2(~2q|RMuB#*U0Q_YSxv)5>o8YXVwCPV4}Rbp743}#4JYMEp23u^2|4^Dfe1`rzz@RB5$x4u&#SEP}@^&e%(VZ=Q1uJd#pnXB&69qKP(m6wLXs?mf z-oVt}Vvb^qaRKsJAdgD>#Eb|Ru{5B4NEoU_uG~YCNK2oQ=wa#ug<|3q0inI?6RyS3 zW5OKHqM-8B;WAko*(+EbP**V3&&}mi$sf=kClq)68`2+7kiYMfn=yDmuHjrCbsqC{ L8oI&9aA5`}T diff --git a/libs/org/jsoup/select/Evaluator$ContainsText.class b/libs/org/jsoup/select/Evaluator$ContainsText.class deleted file mode 100644 index 0e55ea18bc59abee650c6ad399658ed5d022972d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1041 zcma)4U2hUW6g{(07Pbqt*bix|R&DJ`vG7Fw=Gz>WMLJTbI9R}g{xT8?s^v2 zOl)Y=F;Ov5Ww2twBd>EH-YAArqsx!D8}P90HdW+@?HWVoz90JP0mHm=HeESnNY~|a z!BA}Yp?K8qwM2BlTLDE%4e9aVkVn4uN5Qn}_%VZBm!aZ*7$+~=dtoS|dcfmYP`1*L zQQPgtvj5VJMIb!o?jG@=&y|eU#w)2mv&WU!(N%Yxv9gewirw8n^hBs?6BCuEG(aRJ zO<$e}qDQC+O~jB@GLeR1&Z(SLgd}ase&mUVzSf{{()YI3)&Q(@HkvYx)r$ z(-4cN9Dm44(y8I%WRII>SRUV!dWT0%@v1LEPt>&3nHMsm|6;g14jb*-voST3X>0!w zm^M5|3l1j(hNPVP$ff+gr1cwnLZ7A4AAF~u& zND5HGJb6?)BxXdofW;B*K4GX5#jOF-L|XlX)BscODU=Xr2ngftkZ?7Do)8vs9%Y@U z4wuL>$X>?Eh`NTUVQ#jRNq>j=B&E5VUy=Rr7x}v(xt)MV;Yac^xNk zQo|{EIi1EC4QHh|q~jdU>$rg7G)B_6sNs@^%L2mUSKv1b$Q4+4(xEpU`i@%?XwUUcELr!heA#kK`B+Pa z%_Td$9oW?cFUnD%jm0Te%T{RL_5vq#Joi6YvoZR#SM`hb4M*0!d9zT*B@YAbxMH9U z83ViI(T)xcR}Ealb%8zgGRIXK^NLlOoq-(snCx&*kn35X)LKt!YJQ0gF>nmM8b%F_ zVO+xv12=JtrHCzDn(U~FJ^j*wSr7HEjtX>c4`$7Ca`1N7A%8WPGg`6ys6k!q#WpCm zq^+J&!42(_%`w#EMA}pL1hO2dhDO#9G;1itM$c3CJfEW{a3R-VQtSQQ231_Skw(Wg zlzNC8*vg$vut97VrFPjb{!`#op@V0Zw>csd{#(q?5N6jWB+PxEpnRYzf!#baPyz7( zs(6Sd@d(Z0G4@b@FgC+p?Bk6NqA((oWS~S8W`8Zr6`~V-(@dr7Gt|0!U8=<@QsPPE zHXFk>-D(kQE(f}Cpyq6y&XROCGq8^2nCg7Ora z`Us-INi1ruknEnFey-Z;R z-I<+R5s3{%ra866IC`2(O4AL{mc(8|6Kgmu-f%D9Vobb?5;I~_abl_}cM{;A+Z)-N R(b;R1gay$cJtVvijhIDe@ozQ`6u>4T<o()i3%WIi{EioR@h-!hb2VK#VlekqM>0$`yg(i%{gw=0 ziIz{1QbV3CGXrw`m!Cn`=`QB zM6AN~dWU+k`XX+hXzXKW2pmuYk-P89z6|2p*hJ-+nhlkT8OmcpRD?=vB8Eb&G8q_V zoyyhe8SJJ?!nQo{^t{E3Znw3L92^x68`msU^}T3elVb}H7;NmXD!vVYWcS+BfZGI*a5TP~4!~u6_lpZhnFBi97>SbQTEbBt~|VnYnk)oO|!NGr#}*_yu4C+Zr@n*RX^e8gAlN9(gS1 zu%cpB+P5_rFjd@9vBr>n>If&?VNi^!*`R6HYjcK)nj`r0ey_>>mv+-7Pod_uY`0^ADB7zU`8wSB2pIu4@MYC)22Te#hztUjMxnaF@42t8!$!eLM90 z<;1}czBTF#iiY)tHivRE`~U@!=8K z7^a7U)SaeFVhj#4%#0{f6(R3%pCp-z3mQ5}NJoSXYA=bDHcZ(_8JF+vGtANzODG%j zB!oF_LU!Nt=>{-t8HppqX1qzbA|=a7;5^i1TJ2HjxjG+rWW2Pyi2 zY-#a3*jHMmFixW;z3eSA>>Vb^o{dnL#57rim)#}~Did=TJ8qIf={9i121JwWk diff --git a/libs/org/jsoup/select/Evaluator$IndexEvaluator.class b/libs/org/jsoup/select/Evaluator$IndexEvaluator.class deleted file mode 100644 index e6f98529b44dc7c1681ec2e3381965036df3d409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcma)2%SyvQ6g_u3ZA^@*R;{2b!9`QS;97B0EChlZCHrYQ*a=U{spX(OqX|RmN7GkibQ3xDou-jNLepTMexEl@Or7TM%6`0aKk*;{kDQngerEDT+A(Ifc(4kaA^ttE6u zek_l9LXsy&yg7dLB5vDY#%45y-~~A2SJ3$A1>%{JfWxQ9UWf&xFtA06P3DH*YPje# WV&5v2nB8V1u*0sF<$CVjlJ*y=s9$XW diff --git a/libs/org/jsoup/select/Evaluator$IndexGreaterThan.class b/libs/org/jsoup/select/Evaluator$IndexGreaterThan.class deleted file mode 100644 index 52fdb252a299ca8b3d0a5c7151dd520adc4fb866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123 zcmb7D+iuf95IvhXabip_Y1-13OMw>b^kNDWXoK=n6%-LsL?9CI(Zs2AXS*&ER zs^XTkZ)-4Ms#sI8&X9iWc#bGBC`Q?=(X{6`Im2Yd@%Zyzx6XrCcHJdUuHrXrw`K>9 zvxJa$Do%zj|Y3M9fq6`8x=ojS)I`Dy|+T{@`kYXk8HPR z3qM#Hk1jH#9LdPQ$_#4P7LB%K**0P{9wi!D`!4TtPZZDGFyB&9f$s~3g)>2P2qh(n z7&5}Iioo$&40*$>bnGMBa&50=MP5oytNOj5!Jjx%mx*B=n-Z$y0(2FdIxO5#v8CfK z?&-*5md@C131hWsl3*j&gL;S5&~YEzDjw)~h({`R7}ownFb4BH^e{`xxUYB2F+U1E zB`U+rK$WUfcS(_cAj9k_S<0T^Egq0A)1#^ePEynHM2#9vN+k_bc2l;U9~?5w(T$7A zJK~9{^RE->LqDKvz_4S)LIxdq7js2&7URUjzAcXG9KVC~Y_jxfStTUs z2hxS5?_ghPmB0jzn)I?~NU;hg$)1Z)n8FNMgqJNR4k{D#1Fn~ZNzz_^{TPX3Bn#i5 ze1xief|C49{)jnEXs{Q3*5wF4WXm^(s@RyK^_HrrZC(>{F2b@5y no*?sOjQ@3?Usfr(qO23R(nnoIj^-S(XHmd3oukpbp=AF8Sk?(! diff --git a/libs/org/jsoup/select/Evaluator$IndexLessThan.class b/libs/org/jsoup/select/Evaluator$IndexLessThan.class deleted file mode 100644 index ceefd4cc4f14eec485cebbbab584169447c36f26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1114 zcma)5+iuf95IvhXabnzCnzpnBTA&3xl$rvimsF8ZRisD}l}Hr{cyf|$;>fX)?NodZ zFTC&o5-JrEd;lMXn6*vfRI0$1c6VmZo}D?f`|J1jp8&S7uRy_yf>qpBa0hqu$YU*s zbs6`BeP4kFUB&|$8w}Y4%dvtAgQQjU22F=MO?Gkk9IR$v^RnfAa8 zTyJe`YndTq2`&a!Wsv)3(CP|`Z7sp!P>Q~BWb;0Eg7TFC{SB4lxo*I)cqNDqp^O9( zLoRUZfoC}#hN7m|dghsF*rwAlA}=MU)ZKyC;x8Qgs5};U0-HGb$-|l9ZMcG^oWSQ(DtSD@DWk@hQVRU9^O@ zBc6mbf7_5fbv?QR40~E)OWcmP30I_LIY~Th+R~`b%eRkSOP(H!_|jmafizB#RY8h= zAX{4g2KI$kDNNF+2rt_~hV5dC?D+_VY0Q#Ec+qd-pfa%#bG;%=nqtL`bEM9ZE`5dc z0kZTFQu-75Bjzlj!45*!)d)XiE#f*BMV#1|XqBS%GH%5D6=b4VAtU`j_H}r`1?2h# la-T2pKM(mum4YkEI)$4d>J|z#7l=KN5@zTeh31D+{tu{>1#AES diff --git a/libs/org/jsoup/select/Evaluator$IsEmpty.class b/libs/org/jsoup/select/Evaluator$IsEmpty.class deleted file mode 100644 index 5f053f0527d1f240722832b3cea1272261b4c1b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1193 zcmZ`&OHUI~6#ni!I<*WB3k8dah*evp45%QsNC*#;CJmYt2{CSlVJw%-gUn1xaP6;P z>BbEU-Dq%OG;yW>Njp|&kj}`GYoCI$W{HIZtR7AW8VmE$F?G4?Z9*zX5kwl z62yc^ifW|GE7Ro;wbWPLGY?Fo5pl<;@-U)=RH*YOA?N_VDt zte~jLFx2T@@!h!9(axJK*IBhK#|+Gf`=snhCt%gL8X|UsS|_PWc0B#@Gu%bfW*EL0 z^dFL~(U2O}E_ZfBEA&j#r;4>trRU!{(Y!oEYAF+eA(fI(VC@OMHd$SzNQ zgtRWtDH)}B0-510ri&Tn1d4>OP)ll7{f5L5GQw&{=oU741XVtMqp)|se=5h6MQ&Ce z78#`)RA~eK(sPVSn<&wKN!n_%S)}_h3}XmapdyKRWa*>`7A=NicNHT|*2}m?JBg5w zF^cO{V~miZqu6t!DaSZ&wmK@36>`YwOYh0Fi}A8e47pWGLavFrg?_Rr3Kc4+k^KXk C*%Xri diff --git a/libs/org/jsoup/select/Evaluator$IsFirstChild.class b/libs/org/jsoup/select/Evaluator$IsFirstChild.class deleted file mode 100644 index 285478ad682418a4d1da014a80f1f0cdfc981235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmaJfgc5PfSqbugwSP1__*fdYjlp{d1z3q@Q)D@BTW3Ce-n##xfBoONVxDt=4< z02dB$DG~=HE*$t#h}k%5(nIiJ=VRZ@zImQMe}DW0@Dj%!^4Rn601sU}GIrm?V?4>@ zsfz;_&luL;NG0`K2D?`8F*vPwAQ(0}Qi=2FxG$3TydP0!vlE9r>hVOHc%F3hNTv*a zJ3W(0s#_x&4NRz%NLmq3Q$e@&PMi#bi!`22f>cBz)WPW`kEUG5$-#2v34=T4Ivkm* zSGA=wMWoW;G!kQ>^vTML`Ue^yiDS)BSqY*?h=ggxz$OfN9d~si)sSJUR_|Q!OCCgA z4TCI8q`YoCO+s-djSlNK+>Z^^#~pYsp8GgNjiJ04HRJp)4yWcVA9XZbyzp^^CQ0=A zqY62HIuZ8 zxJSO90kDn&MYMq^(rJn#vJTn(qia~_&EF_Df5E;&fnw(xxhuHNXE^p3!eo6tvaoiL zvr4nxjjVp&n>t|&+tk%~JLFl&p^6fDhISbhI?c;XvIb>uu6?~}o{`>LB5ltbTiBhU Os<=- zp^V=G8a!y+!+x3BnaS+#`^W1WfD_aUFkt1dZDPm7E<^Uh4}E#bpxZ}%2BQ_-2!@L1 zhoY0-4n*AJgMb*zi-tVt^VnB-MH+JACk$mbY5Q>^uSdPR8EH#y7>c+R@FWp*-0-4! z>`ap=ojHjJ#85g{a~`BzM)AQ9>p4SCMqL^E;h3RnA9+(g=T5-Gv9n}JQRqf#JQQtT z)!O(@I#$vWGT0~fY^3@$qft{*BNH_S`@ba^4*!&PHQ#tYcd9aR)jqkdKFA^!fgc5Ph4EI=H5#DWy$IfkG%rXlf`FB#O9{B1MXN3Ce++ldKX~jvefEh5A!C zapS@PE*qNQ3dGqFtfBpXU9l%38HDTh0iJQ1(U`yNEChnl9 zy}Ks1aW99GfwF;$z}$1!chw7lbgA4F$Q%Y8DX>^~eR&-BTQYp@v^+-g^`Px|O(%5q zeH_fFo*N0w*P^-;sl%S@bp))M@5}JebD~J{u~ZMju6+^(@xYFxC)>(CI(59*Q9)Ro zDm)M{`i^S%bkY8Fl}}2MedNi$^wq%>-0Va74e5tLpacpRCb0=QXdnSG5Xh;Zp+eX1 z3S2Ff>nF~sV|$L@wUa1GnT;S0+wzsGRaiKuzN=F$%)>Hp-@*>60&9~=6KXGmcC33@ z*oAH2fyM3YS$KrU2KFsH!5+nXMx|7>ort$Rf%uI_Rk|X9JyzbGG5|8uD>)WAuOJkd9!H+ZMO0i;tQP=7I@C-pm>W#`Z|>f zxPoO`t{p2pb#Y9v3~hO5h}3cQC$_3TkbaMK-ZMjFt3%8UVPrZVczi@A{fWs*1Ctg) zAuHlhlS%?KZbC?0!|JGU8Ef=XBv3?wp60)fjWLBPt)`dG=RTiwLII0t#UEIk2qf6JaHGZz(WFU(3kdrG2Pml>(oRWy1x z0emRq9Uz97XzXHc?&){WoSFIfe0v9Qf?5$KoIG|c>{{4k$Xx_cpe`AVdZW)^w&ks0 zDEmPqI_cd?O;NpXBR%wee#?kuVh!nK{RHl)EoYk&$%1&XzVUkB8pv^#zS!( z=un&AM#mbpk;MT+>5R5kEjel_%44C*aP-dz49!2uj+(5WwCp86lx*Ge^gY&ox1m=s z=n?dn0i(z{S}p2MNoQ28reVH?C{S-NG15!a(KVpFvS?A&7KW2~ krjmgk*ZyEnYoo?$G=r@LwM~|QL%e|sHc+K}73`z%1p!Hbs{jB1 diff --git a/libs/org/jsoup/select/Evaluator$IsNthChild.class b/libs/org/jsoup/select/Evaluator$IsNthChild.class deleted file mode 100644 index b7ae631e3256671a79edcc031deb6f1883c7be95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932 zcma))O>fgc5Qg7LoH#KiC233P2T-7;NocS*a4O;w6=5l=Dh1_?Y-6+emt zT#Cd2khmaz6k;~9lD4P_OY7O0oqcBK-Tn3Z%U1x;&~Z@4mV>*v=iolJD|lezk&PWf z`Gr(cza*5JzTX-UtZqCKgr%NT;wU>EisVf&j5yNh#bFQ)f=S)k)&XR+^qKmiY*$BbuT3J@d@utd)W$*|ry?80(+&tL z%~tOuI19WeP-CyJ6RF00Sf?LnNhn@PqfKqz(NmM^!bZi$V;6g9+Gx3G;|Zav^rRCS zk!@OS7dFm{gP&c<-F;>97f!fuSViMVf9kKzS3eW5^lJ@ z5Frl|DpKhI-z7^>Y#OOI7R9dKHNV3WKST2s!HT28|0;Vv`$e{PdvohE=o3#1aQN@A z1${%AzT*b_+p{#dSYnSi;1=o(F|!8G3b3$@l^pw;eS>xO&rvu>(R%xVy&1V|cF~Uu zRA)|gu!`GLs)IG28R{LZ=hO~cQ?b~vK3>87oZ{Tsa*iutW16*z8rufLN_dEyj4QL< HwW@yrsfW}3 diff --git a/libs/org/jsoup/select/Evaluator$IsNthLastChild.class b/libs/org/jsoup/select/Evaluator$IsNthLastChild.class deleted file mode 100644 index 10f60be625552a9de3e4315fa9ab75192321b7d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1108 zcma)5TTc@~6#k|y-F8{Qwjh>^qN27ySyAwY@uk6JlZIew`aW$Z?T}@b>`aOAH~FA1 zHSxh8;Hy6P;$JbIY0IS$jGOG7`!{F4GxPn=*KYte@zO;Ww_Pmbj$Q7$xQ7+1-FNW- z4>Kq^Saq<*kbWhVG_M&ZN7St1$xhPYh0UZSB7l{FHlOv)sSl~D85#U;*Niyqu!CPMJQUv-#zAGkDDl78L!=8 zV4VJd{w70?_H6Y+Zp411rIC?h*e;!eQ`D~ZcSCU~l-ap5P$s-o97Tqqcx4iUL(N$r zI#NfNeJy(JXmARKnNqoSz>m2fa@FzcCYGv0&ARod7q`S4X*rrYJ=KOy_26RCLB+!c zd=HPX>EN-4C)o0^ji(Ntd3cU3s#B(0A+k)RW%+aPf}#B1lrgOSBe$yUY)%`a(O&Y* zot2N#N!R0u#{)VR==4`)5eb<=+my+$G?sWW>>;a~Qj2FO7lJe(Ek6*8$&#H`VKj=m zY=%U2pxWX+!|d1;0%b%;!~~l=8_mc`T}fpcbjt{G{_?IT_m7@ShF**PlAw8Fl2(tb zfb1kmXLVum3)p8;6SzjJOA_n{((EUu$X*_%VH$a|r~n1b5Qx=gNlPGw8<-oxz9rkj z7S{Vn^pWf%McPCk>Gnr*54T9$a`x*SeBl(nfSV`|;0u^1&B8BWaRgr>X}3=1olh6w geh=WhVR!_Wz|tV=7IGx>1eQS=*9kUDay^y(3+j^xH~;_u diff --git a/libs/org/jsoup/select/Evaluator$IsNthLastOfType.class b/libs/org/jsoup/select/Evaluator$IsNthLastOfType.class deleted file mode 100644 index b5aa5ff42e205b6176cccebba9ac11906d69b949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1409 zcmaJ=O>+}R5Ph?|(%SOI#>NVkjUjwXj)g)J1Hm9nj7c_80abSSz-=Ut<#nxho!t=? zIP)jC=8_8sxQMD8QaR@z&4+Vi7GC99!KQ$@gH zBTm}2-8Am(*HRU#maeTmm0?HfIJx-A<7ELM`SbZ}3QRI-~*gE$gcDj$g# zk#JgD3)P;A^zyM66%#LDfk_-|fzq)+0hbI-Fadi%Cj0!h+zY~I0&_dZ)@h=xV%O)ohN7 zUj-Jj$AdzS>&NH8tEp-IVG*2#|9SHJGU=%~M?JEFoNNXnuw}=#&9|8^tW=fyz zH)uU*hSb!Lw$$$e#UZ)HltC>h<%ceBa;Tt4Uqjc zS^T42ebn6LG&75>Wm{loh&c;SRZ`oKrtQ;NhRo05QonU%$SEt9j|@vcY~_i-Z1!%z zY|tv4gUA2A`PkqrVS?)ko_wBd?(V|e>9-JXXj+)$THp@x4ten&Q#^ll0K-Xq$rB&o z6lNI2SS4B(9L!>_ANDoRdETwq^~El%F6>(l4X2CT^;|JmqLKdt7fMbs*M<8JM!Fc~ z{b(13m&m`c#fzNy^TU7huNdQi&#Z}OS^U}2^70jJ3&XEGl$ zUBNug^q8*TEG@=Bo%PJHqA@H{n)BrD-~ul8*;l!n%IvAJ*M|i1#$|cEWZuDbKZS)$ XJ=A3sxlb{?$FS2FrQ%Dt>5P5^k|s=| diff --git a/libs/org/jsoup/select/Evaluator$IsNthOfType.class b/libs/org/jsoup/select/Evaluator$IsNthOfType.class deleted file mode 100644 index 882a80653844f531ddb263fad50ef06cf465ebf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmaJ>OHUI~6#i~!Iz!7)1gTI8DvH=5Wk3aymuLf_NdqJh7Vf5HXon0lb!JL}YyN~= z7qW4oo0=G7T07pIc!q5;%(TX`h^VWsn);z`c?&H` z+8s$A&!EB_+x8e@{{%9~#Eu7J5K1;Nm-e+o!#rk)w;XDeP=mU}I#STREmtq^+0~jE z`Vz_Pfp(;+re+n?ZO<{R0^!2jcG=16YX+Ay($rv*Llr3KQg9P93TAOj#+-uNm{+iX zMTUM~!M5TQEMZy39R(}6OKq^cV#?l6dDI3O_ZY_fa}C;mQ=Vb`Kftuho7<#IcjFI> zRMMQPZgHyI57ow%1n9^Y4Reo>48v`}2035Tm>=agCw0;_9+HAWg11&6@fo6tOsnLZ zxdXaplu_`s0>eOCGUDp$j=H1qp7i;7d^>ese^Ay;x&qNeODF4LllK`0{c{a|4P`L` z{u%P00QwrxMPr0^8QKdp%j5B(7hun689+CUVVc3-Lt-CrhV~b0F!Z30c60zyoTDIo z)laJcL<}HS5BrMt68YAJ<%tRc6$ta9FdK{pV`2s3V@$`yXt09d8%Pz%1d%J~cm(N0 zV0F*L6G*2BodntG&v(O5DOQcwdCCX&5droIo$NCP*cbZG_=*);ud#1cuFI4=f;kKl zuOMg9WWA0!hN`UBF-)rfJ!?2mIDzC@!Ud{Rq-O+|>XoEu=2Z&4p=V7J5;w8$)nrP| cT~86fYx16ddnvvSGV4Z7DQqC=^;s61rVgq6aAA5{eWlDu<#TxH;QZ;>uY^`%wvg zO8)>C4sa|ejXeFw0QJqIP+b+CbZHty@V>EHn# zmat`G+r}e?;tLUp^d*B?Z=5n%Ep-+$lsh5{kF!BHjNkIEq@9(H3b;JwvC!-Brj_Bqjcl3>uZ4DD@ml(xhPt=`$HtC}$EY(@CY|QeUa26{ce!YwY2%5D zU3lczb47M}LGIVir0ReEFs#o9GOSGwXKbMt9`bn9Z;cw9gQ7mmiRel)V(c?L!p02# zueRL1ges~NvVRWgArkR{{Gw0QrhjPDH`K!f(~i-+Kr5djqgZHu1^YsY0hi{Y-Zb`c zlX5o)U=ho-qF;zxH0xqX(W1Dydj;dz`-zJ81Lh@`X>DDha0%P`2+RCLn4H(42;(UV z#=(fYnb(iGi3zK?O{_Y*Lz#gBYFML8%dVhGv%cA*s8Qxh@$)r#F8bM&Xmd<#V10zD NVTq#dUAs|6^$$59)L8%k diff --git a/libs/org/jsoup/select/Evaluator$IsOnlyOfType.class b/libs/org/jsoup/select/Evaluator$IsOnlyOfType.class deleted file mode 100644 index b998d34cf926b4240209f08f3211a117e1759beb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmZ`&OHUI~6#ni!>o|Z`Dip*AptMLCQ9*eL$Rjjq=z@j?yGt3$km*dFnUdg|Kf%tp zVZ%Z75224COpyQE_5n)pX z(ij!XV;y56k})t2D~2aJCUiVy(B>S^iC!_tsq_|uvh45L3|%?Lvp1^c9XlxS9hV~U zoL}Vb77rY;Zw8fU-w7GaY?$}lqx@dss6tRP>v?vt?D8beedE=M23qaT;B&_{FMVWnvOjI$oG~iD?rvpi6r$gPW3= zn8Un|S0)y)$j~w4(>OBzUM8v!WTcgL-pYRmz|eO!lC-Jtpe|QGwcG+;91dwy+;`kv zLNW|o0G`)w$(U^2a_Nu;7&>oBI{GYWnsUjeF(p#jcCGU}2lO$KEONwY5WN?Q5!cWT ztO73)pu1J46{m*mH&yP^)Dx+;5jL+)Z__Vzo&G5C$RJhGNoyDFEV7KOI{FFhBRLXo z(5i``G>@C)n+*WsNYIYqHhO3k$v+9LlP!$ZAZ=v6!^nJtd;(QIlc$tS4a$rvPiYA) zsn(#r$52vDXf{w%`e|{wtpa(q%Uz737fIqzteT94*N6Uk7X{oQPlAd(2FR1Crv=JN xLZRI>?%_V2F+9Lvv&RfsA&?w5K9FgbC)XyA+$<(xsE!&&H(7&Hh3>bI{0n%88>#>R diff --git a/libs/org/jsoup/select/Evaluator$IsRoot.class b/libs/org/jsoup/select/Evaluator$IsRoot.class deleted file mode 100644 index a04fa2b58ff5081d3b8625514e30d70cace01998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmZ`%O>fgc5Pf4iad1LQL!nIxAEiaI8-m4w3q@Q?ks?JsP}DspT7V+$8LZowtUm}F}4FT!gLIU6bB!%WU( zZuV;rqEj}l=jy#$5R0(9B_fa}w2V47I?X49^)MP=h)WS?BA>)nl}!c5s?>>mo7%gt zT)BQ`p&j^W5jK~XtGvEZNoh5FYKR4k`eG|=?g;tR+3_e+s0MY%+jgWIoztME_T3gqc;u-1zM!4?(D#L0_ncNM zIu@&eY}f~_AUw2N!V`66ZyY&Z=%_#z(vUr=NceQ~iq=GFCL!iEha$U&uKnj>(gWK2N7J9LcbpKAl+U`o1G;;#Da8x~QZk z^}M{UoBtrEDWcwU{oPn0O|Zv=6Z5lsfh3<8R(pxlA-w3BOXAvzir!I?{WmE4vf5AR&oU8Z?K=iPb*QpY0sj!wm?>nUp5sznbs6Kd8kCE? HI)ll-f`k(v diff --git a/libs/org/jsoup/select/Evaluator$MatchesOwn.class b/libs/org/jsoup/select/Evaluator$MatchesOwn.class deleted file mode 100644 index 401a1fc25224a84110a5c1b7e73269841ca2aa89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmaJ=TTc@~7(FvB-F96HR1}MdH;`?)tcs{m<4XgHNd=P<5;Z<-%g`>_?&9ng_)$J+ zgsLR!yFbeK?S-~P>&wo}cRAmgb7p`2KKlXS0ZJ-V+|D3_J1XvCM#U`dshESFMnOSQ z#XJ@iEGk%HP!3Gr7t&$KSN6?A(`fsaZAj4&$HuEDRbogzvmDER&M>79tSamK=bj@WFsYC>+CHJc*2id#4B9aCDtISwZMrsXlHFHOJR6yDYmvCv*Pj*w;B^gKbi zxr!?r#=hsa4-8M(qV5~(ho;>&eOJ!(`iP>^iclC<^u8vC2zkc3En33yO9K;yH$+~# zt{>>o8+oyth7g4Sh=H~KrC7vB5}mZ~R()wX4Tf>O5Q%1+PQ!?zRH0VgwycW{E6^v~ zz133Sf`(xj8ZJRoa9<-&rxiTZu#86vRx~`u6KYwDZ%n%Bv!vB%=wCQwtF}*4DR`=3 z6>AK$y(|4kMTW`2bqonTuy~?ZazPyu$31ek#W9I9G2kV2U6KsT@k>{PLX?ima`j@BrE%*ICmkn=SmWcVYPp7?8e(ZgCgzDS@e5GK4j?E z0vLGU4eb)NA4ZnGBXruJIHy%DegP}apMrm)6UQihvs4TI8A*PE3_ryf#jZxx$l(f| zs4qmN$3>Zm81o&~Bq=vmJON+mAkjf`bFqV=4-|}`)c}TngT~K7*kaVsg&o5+mDfQpxX7UMGT))vri@?2bwW1^j0?MvEaM_8d3Es#_SR MRi#{@)n(-W0FV;R1gb_RY7*k$Et}Brp6ZniKc;v5)$=kTE}IZ?T+pTzsd(q z6pe}g0DqM6&TfHLtS>Y7d%p1Hq%fBy;KAs*P6#>zA*xNW0>J2vj(UInWb*0g!w z!ny^A!Aga{F9wpK*6xcF;e{gdy-pejk>6q{KMkTFea5ihTu!@34Can{L&Y=gAd>sp zpey4;(G7Dt)f3^7hy(2pgJyahBn+iP;WO~(Q6%G?P$Y?@V56;K-|HtTd*>xGl)cp3 zJrQ9hQWdXK0d->yMA|#n;K$AgI-(X5Z#R?!8Ktd>3HKGX8!MGE)F*=I5qet_F;r4j z2*EJ#xR>W=usbS?dvY((6IajM-PTHSaJU>cu2^X5d)dMU$0oKIj5V5J_CoK2ZlC7m z*oMcj@_!u|mL>y8TStG(;ss<(ov~NXhAYeWnFy()u}>~~YH8KVZ&ggvGd%gn7Q7x2 z=B#EUG+ZTG$qH>GK*MWI$SRS|ah1+0d3zK$=(d|*!I~RiV01NjAOnNYx1&ekY!=WHB{xRK{M z>SP&YFJXDe+rm_yo2yNkKTv*|b9cVM`uG?5qnw-<;32tzn>p$huF-8%P76~*{SVOM B(m4PC diff --git a/libs/org/jsoup/select/Evaluator.class b/libs/org/jsoup/select/Evaluator.class deleted file mode 100644 index 810c3bbb66e3d04482e9828b13cd6892e39924bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2789 zcmb7`Z+jC(6vfXiY1f8Qpi-q+5Nd(8{0UeQwTRZ3Vk9(3WAVRklA+nU*)6-1(tIpm z`8>Yx1NfnMJhRzs0->8GFY?RWIdkXE%+A^T_wt{A0o+DAi({x*_};>{g{Ok-BU{%R zDlEV71XD%NQ$gOf!%&45eh^r3w}l@CC-c6iZO1d>iaO91e&U#JuoL-NFkSTO>Y%W1 zyDeM$frVd~rx+HRd%A7mS2Imm_S|;)S*5+FEc_-o-ihQJj$60zyI`UiKJk6d@JA%y zaDq_By*3LehMT%kvP0d?QH^pi*bUT79bHvCvd-m3vAC_wl0qZuEB0A5VSnx&!HHrR zmC()Jh^8~5IF(}p(XyYnY?phtD>xMe9t6tPDyTGU&%&Q3m64TH76!b1sQKb#!B!+pD6}al9Q1zF>Z^KR%mCu_rh?s3>^# zsQ39B^KWT8&{2ONm>nFwX^toq%nWu}(1O!RyqBpZm`uVJ_66h76KCOtV64dVKM)+N z*xdGsdyePm`)n>PZwoSczi!T~qAH@?t6N}_c*8cJXM}>K)a~pu$YIM*jB|*vXQ+Z}X_FgapV1B}wcmi#E9f)k^a>I~ ziw&E0l2UJ?9x!sj-I2!i3|_E0(#VeSk6LHf#s#-VnvE|C!HtoI2(BMR->YcxD00EY z6j}5l5}Z$w6!|aWLP|ehT$xK4O4*4;8m;8kMl>CfbBkz%)llRFl$S=ut@+&e=eoYq04e|l` H4d(s_8Y4?{ diff --git a/libs/org/jsoup/select/NodeTraversor.class b/libs/org/jsoup/select/NodeTraversor.class deleted file mode 100644 index c4a5fc06ecf8758c2f21fb5d5f865791a9844a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1032 zcmaJ=O-~b16g_XIP}&Y30wQ0gLY9_uYH$Id|Us@#o7|0Bg9HL=x!)5|~TjIxc58Tx_1+^!!~tXkbaIkxJK>y$!k-!D5yt@90m{!Qu0 za7$o5`~TA1kwEMrdj*DfrRVIQyevAwpmv**)1i4ooyDTu>L;j9}7{7qH&@C`ns!F%4v>nLT)X#ZTp6F!N zQg?E_mX`9ISK)yyy3(r%OlEr)#zI@V+~~0#I9{m6@yaE5GXVijt&pBZe-J~o!;H2W zYy2kjpCIyukI>#nH6ye`&}l~z!x&M-8Pc2O@Hq_d$&Dd{X|5oH1uSEc?{o>9^zLH?kC4L?KRNF iVMPM-E$SVCB}%?VVH#{q($jeU0#n4*nVsQGPW%fr#^^Bs diff --git a/libs/org/jsoup/select/NodeVisitor.class b/libs/org/jsoup/select/NodeVisitor.class deleted file mode 100644 index de1433af06b14ac3b197c8e6201bd04ef359bc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmYL@K?=e!5Jmsg*l1U-#RKTZ;M%<)h%SWgV;gEpXe4PpoC^=&p~Q&@Zsx$Y0G#8LO!Bmc`~bHcE5rZ* diff --git a/libs/org/jsoup/select/QueryParser.class b/libs/org/jsoup/select/QueryParser.class deleted file mode 100644 index 17f09ea9f359ffea74add7a7bd608bd0793c3fc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13040 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 b;N6e+R{;kDz5!Sc_$J^;z_&pcAoKqL>Pc=; diff --git a/libs/org/jsoup/select/Selector$SelectorParseException.class b/libs/org/jsoup/select/Selector$SelectorParseException.class deleted file mode 100644 index c46552502f0b0412729d1909e1361b697a574a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmb7C%TB^T6g>k-r4~UD6kllK0w1yJ&S2aSO-LFw!LV^P;8;saOQyxR^;7f@TxneR z0e+P64oJX=i8h(sIj8rYxo7UYf4sf{*h5jrEOI(x$ZMF_P+*83I-V0AF_cPHi{En7 z<(_TULg{#R`ErChYqUf&EN|2qVio^NFr+NU6Q|vFL&yu>aEZxSev`X(E**ux$XIye z1Pu9_a7nC&;CDM_&?_+qmFt7ecZo7X zv>n*$_#Y0)V24ZICgJQDHw=2s@5-h)aa8}w!2vr;NW+4GMJySZz_NxFhTZ?R#!wu# zRCQfpbGH`qaMXW#n9;v>>iOE2Z5}cl{BbDbjOWJGs_7MeHGwrm>20Ww;htQ_DQbi) z;-eJx&8_VhuxCV`2t_cdIEugn5_qHqtoAdBPZCo9r;#EZwM%1$vLnb4iXaQ4$I|#P IhbbgJ0UwpMi~s-t diff --git a/libs/org/jsoup/select/Selector.class b/libs/org/jsoup/select/Selector.class deleted file mode 100644 index eae49eb9f379035d7778c2920358e1d263f9bbe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3346 zcmbVOTXz#x6#gc+Y0{}crL6&~SP)B^5%b7p^`SmvdyKpOp zjTnjHFy4t_6k}qRiD4W^qG-Z|_&F*g8{>FP{2UiQlQK@kpkSmKCo$EGQ+QYWoR)D$ z9G?|u@5wk9!+NMOOd}^|l+I%+hIP=yaz@6ij5!JIS0Ka@X~)=?{`8k1^K7i(`bWY6g|exnc4Gq~b5jR{{UYsJd~VTCCY_I0nkTXoiVR_mfL zHR7t0aOkO=^kG)Wb$Kh%)}#N^oQ9x7_3W#1F=A^)!D)JXLzJ)xJIP+}qjCAFgeE46 zh(0Cau0+|^jTGZ}Udta+OLJLGWJY^!7%vwpp-k0*-S0D~mj3}l?O9Dt<7?5ZK5MFW zxyYnC``?&p1lX9g&hEzN(HY$!{o`d8)QD${!`qN$h`ME|rhRVub{pdcErA%GvC3v% zf^zfwNUX zFZ#tSDWRjvcTFY8C@Z*#_hnpCa2X#c_z)jayoy|t?*cNV;0ivjr@ayxq4TPYYYMI- zCF6#IPjFMgr?@F$ZMELVr{|ej5_VRVd5x&z#@5Q@$wwpDEgGNC|2fSlXvNf|YUp{@ zCam{ zu1tuY@0iaAEnE6Oy{j^uh{I=lq14@)`)wt zW|!>Dsill|iR6<>7G=nE7PXFhT(KI}e11?+8LwYEX#uh78EM(Df)=lVh*w_Dxh;mg zSCh2bV5nZZP*x3gg&Ni?k)-M%?PEnW@goNapjDIzXRV@2ILh2(IY7coTwUQR$Z<_Vd(+qt3=B+x^}VkV3UIHn{$Q*_Uij*2O+1uNBWK!gw{seX#;Pw~U+G}WI$ zJI?ylb}Xyya2OD3J3O^f7VZvD?I3XiJZpJ`rl~~F5~53p{mc#5*N9`U?f|#Df{qsy zpx?p^ex->%uo_%*9XPuN&W%qk+)k>g^^OG%e7A=O7I z_v}@k?c-ShukoKf*(0uxD-k0lagPai5Ap-FKN*J49eWg4&Wmpo(%A2^B`F+5YR(B~ zm(Vemc!=jDWO_Y%COGlf2?hJYq>rclk$A*A?-DalK#qsv@*?855e@Z)?;>*d@n3D> zJBTIYp+#&Ur9UOBT<&HT0$))3mrU-j$nV!UfNxkJ-?A{i!!dl16AaL4+(8aMUzB2e6j>b+IzHaU8%KSd6~6NU z#upwmQM@D?pZx*~)kAhv4SrhiXhEL(KkvUcD(l~&^>9ps#4!#&+d!&v2jUdlo&(qEphXUEMVUyXKVqebW<&KGJ!rTefYu z>z3|$2F-jY)Q;~~N`A%Ftp?}>QwstKqs~Gg)0x-^XQ+Ir`=$K=VX?Ivo4h@3!!iyH z+b^_~Xn)8(6A)}CeQpFba2>}d5cLU)3B-Me)J?lAFqq915A-8lvvj+xRlOvo>^K#- zWNey&RKsWVITs|U=*5DHAq=Zn#FC8LD(+xe#)^spR#n^uhcwh2Q5$y|_f@1ZLOv_| zx|f~wasvHLGLQETI8PZ5RIK5lK(<+@HtI8Y1^Nq2{7)$7oDEi_w`}-pmQ|CQ*`w5? zqd@(c;-t@gWGkj`xWV=br0UXEeACjlYJTP?!yenboDL<}HePc&WW}LMc4)NErz#0c zjC4|HE?kR-^)bg@IxhE2U^&}4?&mG88p0V%fpLDRJ^XTkD5x6xc=prUM1(&;$$y5( zPk%z>1FZ-Kc=j?DNJ7E|BrwPukg7)0lcL4EV1ZbR!eXRW^9}R5__j22is&h%?b)yB z5;(>bFEN3ikXNL%H1ih8{6|El)6yy8$LNwy-u?X@Jz-`QKNVIPLWT$$>(3Km0hdA^ zd9upjBCQN>#A+~F!YF+r^j+pH!uuHeul8GD&ERbynUKCic^VBE?0iA@`vz<*3>Xh# Y)M{|8cm!9%sH+4HTIb&kMIA)^A0GHP@Bjb+ diff --git a/libs/org/jsoup/select/StructuralEvaluator$ImmediateParent.class b/libs/org/jsoup/select/StructuralEvaluator$ImmediateParent.class deleted file mode 100644 index 49e2963c162084a6232039319b53380572c8961c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1144 zcma)5%Wl(95Ir|>;=~x*rX@`u&=OL}v!)1;Ac#%XN|i!*q*S7;ZqiHY$gwNO&cE;j zu;~IMCbtK9BCu7!Zkj&Wu)r)$IRw+YMaSvMz4<@!eg>~F+ zhRkKk7{XcarYsJ?BUUo3kPR0k$&KYfYWxO{XgW7F`rfi>wG5B5ljgn~ItolEPgw!h z=@W_5Cj*2*`@j`?sub-aL_a{ue+SDKz9IC5q7bgq^BQ4+3M4$I+A76BGC*Sn35uxB zTNm|W-kN$nyHqDpE?p>oL?nD#JVUrz`h)rWSA+_sGe{pGOP?TxPYD%pCH#t4h~PD3 z?9*&-e7=0psn3_jB2vUd-LXV(AwnkUs-%2fD_HH#P^L~EYAz9xej)lc>~YtAK>pmP djQW5>pGFP9J(>`1_^6whqkn~Ro_Vu~{Re!l7BK(- diff --git a/libs/org/jsoup/select/StructuralEvaluator$ImmediatePreviousSibling.class b/libs/org/jsoup/select/StructuralEvaluator$ImmediatePreviousSibling.class deleted file mode 100644 index 09e0e67787887a6a76acdc1d8591169cc63c3bc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1183 zcma)5%Wl(95Ir|`;=~x*rX@`u&=OL}v*sZd5FU%Fl`2IADX0>#a?(rc$gwLwA^{Qz zHhcp=0GlpAf`X7>$%2nU%yrT(5PEmo^milT;D%qb{oC}UlLuHh_FBzj9|tx;#wC;a#8Et;o- zD;llFHHJGQqaGtQ(Q1b5|Ku}BIk7kMC*UC)8B(HDu@gPV`>U};?o7xclNL{|{$13e zu8+NrJ#}1~H^a@`sOL`xj=DBg#!LpQ^d%+e%K{|Om~e`o8bw=(&<{`xU%?8+FNl1i zD1y`UJVRLE8Du=C+!quBsV*8*NK!<3Vv5AY#PoWc9mkSMM^rj29YNYD|H5qH zGa|+E5#)DJ{y_;2q9Bgq&Lym z5|(>4RESBSW|C3)2V##Tpfgc5Pj>oabgT@O$%))G(b|Eq{8CB0fM+xt%MX6q@YT`X=9euk>f@7x<7_L zz=Z=yd%8^7oE;lyN1KPVHR38b(iQH{P7_n#slOMAk%(1ihT?pn`I2T#r0#e9pCE$hEQX4b z)N>dQ7*@PycgT;qAMtqL=U(c@?#V0(#D1tXTAMTAU7h5hiaQQmT(;mjSiveSDAejUoEz*z=447Ktj;)-jX90WW=sg0V3w%A3RYH9+NB@63opP6 zQ2+2l6P?CHFTgADD%4ZjF&Hc{O`4wbKIc5obI#jef4=_&u!h?rQplx{#FB_>SQc>| z`6N~Z+z@dS1p%^vB12-!uncdTAy=r{PD^dOwtuL)x~Vrkb@xa!ea*9-ioDOj@7S+& zhKZ_S={3L8(4A*m!=y~QYBx1=UvrEgj*`50V7S!(spjaG#~?knEZx~LHP_WCUmj(v zdye1qd`C0;y!o)Y!jRHWv@k4;*7hq1Ds(ijc@U7S4|=jly{qn;dWZB>23ias$S=sL zW7{M-doGAbXhK0Fa(EayOnNq1Fsv5CbV07RwIfY6HLInDSyCp}ZQp6?dqyy|%ox9` zL6HOziiFFU7EqEfhq8cG30E*fW7rJYR>z znt>|>w_x@ZJTy3lc`|*@A$gxWJvw{4hOC^7F!9=UXpsyXh0#&I97u)UD`N(ZCA$78 z`W*lcG<{s4w?xq%V)OuF@hezS`GVLdiek7(?@NRQ?tsTS)!wBTmUW|u-VjJgmT59WqF!h>UPouwl78?j`~&_0 zz2QO=MPs6uUieS^6Y6=_v2PO7qhe~*02ZVm?^CR1ff{I;rY`4y!@47Dcw;U@7 zI05bs(^f)1s)dnnIh_Jl2GSH6()_eKhWX(nolt_RO)IP&2(~-DDqYeOnA;9-ayKmY zr0BoMJtOVD=Yvx*4BRU0TJ9{2Je} zg^M#IWN(Tf9U2NcE@D!}x{eKOsxWn2!W41b7hL&Ok~ZEYcvNjr`&3-lX%cQS+#c%e z2(Cek8CL!$j6pWUbWC@_efBX-i4w&Kw4Lru!W_ABMiiMd+r1hb$3C&A9w%RUKJ}U5 zo-yq8^PZ#Fo#Kd&V2S>hH2pt-3~CR~(Oak84kUU2E&l~9U-%5^Bkd%dr}qWI0xzK8 zCB<5_2c}{)#*m>M#fk1wE+)Fx&iRJo6uL7C>+g_|kJnEimp6VQoBsrU!p4ltR3)&F1UOXGsX`m$XkZ?%v4AGl;I*pA$N4)|7?{Qku@fhOwd=OJ7MWK GQvU#`&>`9Y diff --git a/libs/org/jsoup/select/StructuralEvaluator$Root.class b/libs/org/jsoup/select/StructuralEvaluator$Root.class deleted file mode 100644 index 2522dfe9b4241c835143192bf5a4cd3ae401f54e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 614 zcma)3O;5r=5PjPgiWEfg3p{b)0Ag%Bc*1xgn2-<;VmNqP>PAXR*KD`^B)xd?Wa7ae z;Eys+YojJWVw>)~&dhuBCj0UE_730_^&(8{+Ss>oz>q)pLtkGon637h!RpC7!B83c zp}30Y6QOSSB%n-nC_NsGx$=|$ENSVf9}($VO3hFjgrQKqfJc#_Y-cFdy*rC!{NP3+ z5T15NTE(7@6%YCg9>iQr)l9fu27Au6H%)kFtv|$&>_l!q5OWdg?%G28mRzXRMSX1( z4Ivwe5JPb!W95lUKiRFe!q>@+FL((SayDuV?SJpWaJba_vn@k&skmY|8ZhXRlEf*7n7;(S#Ty#`ggycFeM4W@m|C%O?{b z`~ZF^#__Tmk}*okFwlfjXq&z2y2 zW~~=Y>b43K<*gGe)vUX!UdJ}Msm40gO<(=>@ANzU4oqbHPkL0gFKBRRFEvZoOr%ee zRztgU)d-oHsoACqFO)N#eJ`2ye@rac94=A!E@}G2sqp_|`MOP9Q~x#{$I=MR-nDA0 z0_O2vP#*g35f=oDL$cS3f*(VNBRtCe|2){Kuc_`2G*6K3TEA?!rGnjb)q3hmDm6z$ zkWR`W5^Se(?TlG=6&cPvAbe*r*NfOYW)`^nLUzu^ckUr~3^FKj&67Y5S={0SqrzVi r7V)vGS?aFKm>|C)pe}=P>H{*zXOhg5Q)GdhCf|@n@-6v}oI&mda3%)o diff --git a/src/de/epiceric/shopchest/Commands.java b/src/de/epiceric/shopchest/Commands.java index 74eb8a0..a051284 100644 --- a/src/de/epiceric/shopchest/Commands.java +++ b/src/de/epiceric/shopchest/Commands.java @@ -1,8 +1,11 @@ package de.epiceric.shopchest; import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.config.Regex; import de.epiceric.shopchest.interfaces.JsonBuilder; import de.epiceric.shopchest.interfaces.jsonbuilder.*; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.shop.Shop.ShopType; import de.epiceric.shopchest.utils.ClickType; import de.epiceric.shopchest.utils.ClickType.EnumClickType; @@ -28,12 +31,12 @@ import java.util.List; public class Commands extends BukkitCommand { private ShopChest plugin; - - private Permission perm = ShopChest.perm; + private Permission perm; public Commands(ShopChest plugin, String name, String description, String usageMessage, List aliases) { super(name, description, usageMessage, aliases); this.plugin = plugin; + this.perm = plugin.getPermission(); } public static void registerCommand(Command command, ShopChest plugin) throws ReflectiveOperationException { @@ -66,7 +69,7 @@ public class Commands extends BukkitCommand { create(args, ShopType.ADMIN, p); return true; } else { - p.sendMessage(Config.noPermission_createAdmin()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_CREATE_ADMIN)); return true; } } else { @@ -78,7 +81,7 @@ public class Commands extends BukkitCommand { return true; } } else { - p.sendMessage(Config.noPermission_create()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_CREATE)); return true; } } else if (args[0].equalsIgnoreCase("remove")) { @@ -92,7 +95,7 @@ public class Commands extends BukkitCommand { reload(p); return true; } else { - p.sendMessage(Config.noPermission_reload()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_RELOAD)); return true; } } else if (args[0].equalsIgnoreCase("update")) { @@ -100,15 +103,18 @@ public class Commands extends BukkitCommand { checkUpdates(p); return true; } else { - p.sendMessage(Config.noPermission_update()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_UPDATE)); return true; } } else if (args[0].equalsIgnoreCase("limits")) { if (perm.has(p, "shopchest.limits")) { - p.sendMessage(Config.occupied_shop_slots(ShopUtils.getShopLimit(p), ShopUtils.getShopAmount(p))); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.OCCUPIED_SHOP_SLOTS, + new LocalizedMessage.ReplacedRegex(Regex.LIMIT, String.valueOf(ShopUtils.getShopLimit(p))), + new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(ShopUtils.getShopAmount(p))))); + return true; } else { - p.sendMessage(Config.noPermission_limits()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_LIMITS)); } } else { sendBasicHelpMessage(p); @@ -126,35 +132,35 @@ public class Commands extends BukkitCommand { } private void checkUpdates(Player player) { - player.sendMessage(Config.checking_update()); + player.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CHECKING)); UpdateChecker uc = new UpdateChecker(ShopChest.getInstance(), ShopChest.getInstance().getDescription().getWebsite()); UpdateCheckerResult result = uc.updateNeeded(); if (result == UpdateCheckerResult.TRUE) { - ShopChest.latestVersion = uc.getVersion(); - ShopChest.downloadLink = uc.getLink(); - ShopChest.isUpdateNeeded = true; + plugin.setLatestVersion(uc.getVersion()); + plugin.setDownloadLink(uc.getLink()); + plugin.setUpdateNeeded(true); JsonBuilder jb; - switch (Utils.getVersion(plugin.getServer())) { + switch (Utils.getServerVersion()) { case "v1_8_R1": - jb = new JsonBuilder_1_8_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; case "v1_8_R2": - jb = new JsonBuilder_1_8_R2(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R2(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; case "v1_8_R3": - jb = new JsonBuilder_1_8_R3(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R3(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; case "v1_9_R1": - jb = new JsonBuilder_1_9_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_9_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; case "v1_9_R2": - jb = new JsonBuilder_1_9_R2(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_9_R2(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; case "v1_10_R1": - jb = new JsonBuilder_1_10_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_10_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, uc.getVersion()))); break; default: return; @@ -162,21 +168,21 @@ public class Commands extends BukkitCommand { jb.sendJson(player); } else if (result == UpdateCheckerResult.FALSE) { - ShopChest.latestVersion = ""; - ShopChest.downloadLink = ""; - ShopChest.isUpdateNeeded = false; - player.sendMessage(Config.no_new_update()); + plugin.setLatestVersion(""); + plugin.setDownloadLink(""); + plugin.setUpdateNeeded(false); + player.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_NO_UPDATE)); } else { - ShopChest.latestVersion = ""; - ShopChest.downloadLink = ""; - ShopChest.isUpdateNeeded = false; - player.sendMessage(Config.update_check_error()); + plugin.setLatestVersion(""); + plugin.setDownloadLink(""); + plugin.setUpdateNeeded(false); + player.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_ERROR)); } if (perm.has(player, "shopchest.broadcast")) { - if (Config.enable_broadcast()) ShopChest.broadcast = uc.getBroadcast(); - if (ShopChest.broadcast != null) { - for (String message : ShopChest.broadcast) { + if (Config.enable_broadcast) plugin.setBroadcast(uc.getBroadcast()); + if (plugin.getBroadcast() != null) { + for (String message : plugin.getBroadcast()) { player.sendMessage(message); } } @@ -185,7 +191,7 @@ public class Commands extends BukkitCommand { } private void reload(Player player) { - ShopUtils.reloadShops(player); + player.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.RELOADED_SHOPS, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(ShopUtils.reloadShops())))); } private void create(String[] args, ShopType shopType, Player p) { @@ -196,7 +202,7 @@ public class Commands extends BukkitCommand { if (limit != -1) { if (ShopUtils.getShopAmount(p) >= limit) { - p.sendMessage(Config.limit_reached(limit)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_LIMIT_REACHED, new LocalizedMessage.ReplacedRegex(Regex.LIMIT, String.valueOf(limit)))); return; } } @@ -206,23 +212,23 @@ public class Commands extends BukkitCommand { buyPrice = Double.parseDouble(args[2]); sellPrice = Double.parseDouble(args[3]); } catch (NumberFormatException e) { - p.sendMessage(Config.amount_and_price_not_number()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.AMOUNT_PRICE_NOT_NUMBER)); return; } boolean buyEnabled = !(buyPrice <= 0), sellEnabled = !(sellPrice <= 0); if (!buyEnabled && !sellEnabled) { - p.sendMessage(Config.buy_and_sell_disabled()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUY_SELL_DISABLED)); return; } if (p.getItemInHand().getType().equals(Material.AIR)) { - p.sendMessage(Config.no_item_in_hand()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_ITEM_IN_HAND)); return; } - for (String item : Config.blacklist()) { + for (String item : Config.blacklist) { ItemStack itemStack; @@ -233,12 +239,12 @@ public class Commands extends BukkitCommand { } if (itemStack.getType().equals(p.getItemInHand().getType()) && itemStack.getDurability() == p.getItemInHand().getDurability()) { - p.sendMessage(Config.cannot_sell_item()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CANNOT_SELL_ITEM)); return; } } - for (String key : Config.minimum_prices()) { + for (String key : Config.minimum_prices) { ItemStack itemStack; double price = plugin.getConfig().getDouble("minimum-prices." + key); @@ -252,14 +258,14 @@ public class Commands extends BukkitCommand { if (itemStack.getType().equals(p.getItemInHand().getType()) && itemStack.getDurability() == p.getItemInHand().getDurability()) { if (buyEnabled) { if ((buyPrice <= amount * price) && (buyPrice > 0)) { - p.sendMessage(Config.buyPrice_too_low(amount * price)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUY_PRICE_TOO_LOW, new LocalizedMessage.ReplacedRegex(Regex.MIN_PRICE, String.valueOf(amount * price)))); return; } } if (sellEnabled) { if ((sellPrice <= amount * price) && (sellPrice > 0)) { - p.sendMessage(Config.sellPrice_too_low(amount * price)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SELL_PRICE_TOO_LOW, new LocalizedMessage.ReplacedRegex(Regex.MIN_PRICE, String.valueOf(amount * price)))); return; } } @@ -267,9 +273,9 @@ public class Commands extends BukkitCommand { } if (sellEnabled && buyEnabled) { - if (Config.buy_greater_or_equal_sell()) { + if (Config.buy_greater_or_equal_sell) { if (buyPrice < sellPrice) { - p.sendMessage(Config.buyPrice_too_low(sellPrice)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUY_PRICE_TOO_LOW, new LocalizedMessage.ReplacedRegex(Regex.MIN_PRICE, String.valueOf(sellPrice)))); return; } } @@ -280,47 +286,47 @@ public class Commands extends BukkitCommand { if (Enchantment.DURABILITY.canEnchantItem(itemStack)) { if (itemStack.getDurability() > 0) { - p.sendMessage(Config.cannot_sell_broken_item()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CANNOT_SELL_BROKEN_ITEM)); return; } } - double creationPrice = (shopType == ShopType.NORMAL) ? Config.shop_creation_price_normal() : Config.shop_creation_price_admin(); + double creationPrice = (shopType == ShopType.NORMAL) ? Config.shop_creation_price_normal : Config.shop_creation_price_admin; if (creationPrice > 0) { - if (ShopChest.econ.getBalance(p) >= creationPrice) { - EconomyResponse r = ShopChest.econ.withdrawPlayer(p, creationPrice); + if (plugin.getEconomy().getBalance(p) >= creationPrice) { + EconomyResponse r = plugin.getEconomy().withdrawPlayer(p, creationPrice); if (!r.transactionSuccess()) { - p.sendMessage(Config.error_occurred(r.errorMessage)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.ERROR_OCCURRED, new LocalizedMessage.ReplacedRegex(Regex.ERROR, r.errorMessage))); return; } } else { - p.sendMessage(Config.shop_create_not_enough_money(creationPrice)); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_CREATE_NOT_ENOUGH_MONEY, new LocalizedMessage.ReplacedRegex(Regex.CREATION_PRICE, String.valueOf(creationPrice)))); return; } } ClickType.addPlayerClickType(p, new ClickType(EnumClickType.CREATE, itemStack, buyPrice, sellPrice, shopType)); - p.sendMessage(Config.click_chest_to_create()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CLICK_CHEST_CREATE)); } private void remove(Player p) { - p.sendMessage(Config.click_chest_to_remove()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CLICK_CHEST_REMOVE)); ClickType.addPlayerClickType(p, new ClickType(EnumClickType.REMOVE)); } private void info(Player p) { - p.sendMessage(Config.click_chest_for_info()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CLICK_CHEST_INFO)); ClickType.addPlayerClickType(p, new ClickType(EnumClickType.INFO)); } private void sendBasicHelpMessage(Player player) { - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " create [normal|admin] - " + Config.cmdDesc_create()); - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " remove - " + Config.cmdDesc_remove()); - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " info - " + Config.cmdDesc_info()); - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " reload - " + Config.cmdDesc_reload()); - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " update - " + Config.cmdDesc_update()); - player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name() + " limits - " + Config.cmdDesc_limits()); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " create [normal|admin] - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_CREATE)); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " remove - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_REMOVE)); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " info - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_INFO)); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " reload - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_RELOAD)); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " update - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_UPDATE)); + player.sendMessage(ChatColor.GREEN + "/" + Config.main_command_name + " limits - " + LanguageUtils.getMessage(LocalizedMessage.Message.COMMAND_DESC_LIMITS)); } } diff --git a/src/de/epiceric/shopchest/ShopChest.java b/src/de/epiceric/shopchest/ShopChest.java index 784ec05..eb4b7e7 100644 --- a/src/de/epiceric/shopchest/ShopChest.java +++ b/src/de/epiceric/shopchest/ShopChest.java @@ -1,9 +1,13 @@ package de.epiceric.shopchest; import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.config.LanguageConfiguration; +import de.epiceric.shopchest.config.Regex; import de.epiceric.shopchest.event.*; import de.epiceric.shopchest.interfaces.JsonBuilder; import de.epiceric.shopchest.interfaces.jsonbuilder.*; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.shop.Shop; import de.epiceric.shopchest.shop.Shop.ShopType; import de.epiceric.shopchest.sql.Database; @@ -19,31 +23,30 @@ import de.epiceric.shopchest.utils.Utils; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.World; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Item; +import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; +import java.io.BufferedReader; +import java.io.File; import java.io.IOException; +import java.io.Reader; import java.util.ArrayList; -import java.util.logging.Logger; public class ShopChest extends JavaPlugin { - public static Logger logger; - public static Economy econ = null; - public static Permission perm = null; - public static boolean lockette = false; - public static boolean lwc = false; - public static Database database; - public static boolean isUpdateNeeded = false; - public static String latestVersion = ""; - public static String downloadLink = ""; - public static String[] broadcast = null; private static ShopChest instance; + private Economy econ = null; + private Permission perm = null; + private boolean lockette = false; + private boolean lwc = false; + private Database database; + private boolean isUpdateNeeded = false; + private String latestVersion = ""; + private String downloadLink = ""; + private String[] broadcast = null; + private LanguageConfiguration langConfig; public static ShopChest getInstance() { return instance; @@ -64,24 +67,90 @@ public class ShopChest extends JavaPlugin { return perm != null; } + private void initLanguageConfig() { + langConfig = new LanguageConfiguration(); + File langFolder = new File(getDataFolder(), "lang"); + + if (!(new File(langFolder, "en_US.lang")).exists()) + saveResource("lang/en_US.lang", false); + + if (!(new File(langFolder, "de_DE.lang")).exists()) + saveResource("lang/de_DE.lang", false); + + File langConfigFile = new File(langFolder, Config.language_file + ".lang"); + File langDefaultFile = new File(langFolder, "en_US.lang"); + + if (!langConfigFile.exists()) { + if (!langDefaultFile.exists()) { + try { + Reader r = getTextResource("lang/" + langConfigFile.getName()); + + if (r == null) { + r = getTextResource("lang/en_US.lang"); + getLogger().info("Using locale \"en_US\" (Streamed from jar file)"); + } else { + getLogger().info("Using locale \"" + langConfigFile.getName().substring(0, langConfigFile.getName().length() - 5) + "\" (Streamed from jar file)"); + } + + 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 ex) { + ex.printStackTrace(); + getLogger().warning("Using default language values"); + } + } else { + try { + langConfig.load(langDefaultFile); + getLogger().info("Using locale \"en_US\""); + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); + getLogger().warning("Using default language values"); + } + } + } else { + try { + getLogger().info("Using locale \"" + langConfigFile.getName().substring(0, langConfigFile.getName().length() - 5) + "\""); + langConfig.load(langConfigFile); + } catch (IOException | InvalidConfigurationException ex) { + ex.printStackTrace(); + getLogger().warning("Using default language values"); + } + } + } + @Override public void onEnable() { - logger = getLogger(); instance = this; if (getServer().getPluginManager().getPlugin("Vault") == null) { - logger.severe("Could not find plugin 'Vault'!"); + getLogger().severe("Could not find plugin 'Vault'!"); getServer().getPluginManager().disablePlugin(this); return; } if (!setupEconomy()) { - logger.severe("Could not find any Vault dependency!"); + getLogger().severe("Could not find any Vault economy dependency!"); getServer().getPluginManager().disablePlugin(this); return; } - switch (Utils.getVersion(getServer())) { + if (!setupPermissions()) { + getLogger().severe("Could not find any Vault permission dependency!"); + getServer().getPluginManager().disablePlugin(this); + return; + } + + switch (Utils.getServerVersion()) { case "v1_8_R1": case "v1_8_R2": case "v1_8_R3": @@ -90,11 +159,17 @@ public class ShopChest extends JavaPlugin { case "v1_10_R1": break; default: - logger.severe("Incompatible Server Version: " + Utils.getVersion(getServer()) + "!"); + getLogger().severe("Incompatible Server Version: " + Utils.getServerVersion() + "!"); getServer().getPluginManager().disablePlugin(this); return; } + initLanguageConfig(); + LanguageUtils.load(); + saveResource("item_names.txt", true); + reloadConfig(); + saveDefaultConfig(); + try { Metrics metrics = new Metrics(this); Graph shopType = metrics.createGraph("Shop Type"); @@ -133,7 +208,7 @@ public class ShopChest extends JavaPlugin { @Override public int getValue() { - if (Config.database_type() == Database.DatabaseType.SQLite) + if (Config.database_type == Database.DatabaseType.SQLite) return 1; return 0; @@ -145,7 +220,7 @@ public class ShopChest extends JavaPlugin { @Override public int getValue() { - if (Config.database_type() == Database.DatabaseType.MySQL) + if (Config.database_type == Database.DatabaseType.MySQL) return 1; return 0; @@ -155,59 +230,53 @@ public class ShopChest extends JavaPlugin { metrics.start(); } catch (IOException e) { - logger.severe("Could not submit stats."); + getLogger().severe("Could not submit stats."); } - saveResource("item_names.txt", true); - reloadConfig(); - saveDefaultConfig(); - - if (Config.database_type() == Database.DatabaseType.SQLite){ - logger.info("Using SQLite"); + if (Config.database_type == Database.DatabaseType.SQLite) { + getLogger().info("Using SQLite"); database = new SQLite(this); } else { - logger.info("Using MySQL"); + getLogger().info("Using MySQL"); database = new MySQL(this); } lockette = getServer().getPluginManager().getPlugin("Lockette") != null; lwc = getServer().getPluginManager().getPlugin("LWC") != null; - setupPermissions(); - UpdateChecker uc = new UpdateChecker(this, getDescription().getWebsite()); UpdateCheckerResult result = uc.updateNeeded(); - if (Config.enable_broadcast()) broadcast = uc.getBroadcast(); + if (Config.enable_broadcast) broadcast = uc.getBroadcast(); - Bukkit.getConsoleSender().sendMessage("[ShopChest] " + Config.checking_update()); + Bukkit.getConsoleSender().sendMessage("[ShopChest] " + LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CHECKING)); if (result == UpdateCheckerResult.TRUE) { latestVersion = uc.getVersion(); downloadLink = uc.getLink(); isUpdateNeeded = true; - Bukkit.getConsoleSender().sendMessage("[ShopChest] " + ChatColor.translateAlternateColorCodes('&', Config.update_available(latestVersion))); + Bukkit.getConsoleSender().sendMessage("[ShopChest] " + LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); for (Player p : getServer().getOnlinePlayers()) { if (p.isOp() || perm.has(p, "shopchest.notification.update")) { JsonBuilder jb; - switch (Utils.getVersion(getServer())) { + switch (Utils.getServerVersion()) { case "v1_8_R1": - jb = new JsonBuilder_1_8_R1(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_8_R1(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; case "v1_8_R2": - jb = new JsonBuilder_1_8_R2(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_8_R2(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; case "v1_8_R3": - jb = new JsonBuilder_1_8_R3(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_8_R3(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; case "v1_9_R1": - jb = new JsonBuilder_1_9_R1(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_9_R1(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; case "v1_9_R2": - jb = new JsonBuilder_1_9_R2(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_9_R2(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; case "v1_10_R1": - jb = new JsonBuilder_1_10_R1(Config.update_available(latestVersion)); + jb = new JsonBuilder_1_10_R1(this, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, latestVersion))); break; default: return; @@ -220,12 +289,12 @@ public class ShopChest extends JavaPlugin { latestVersion = ""; downloadLink = ""; isUpdateNeeded = false; - Bukkit.getConsoleSender().sendMessage("[ShopChest] " + Config.no_new_update()); + Bukkit.getConsoleSender().sendMessage("[ShopChest] " + LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_NO_UPDATE)); } else { latestVersion = ""; downloadLink = ""; isUpdateNeeded = false; - Bukkit.getConsoleSender().sendMessage("[ShopChest] " + Config.update_check_error()); + Bukkit.getConsoleSender().sendMessage("[ShopChest] " + LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_ERROR)); } for (Player p : getServer().getOnlinePlayers()) { @@ -245,7 +314,7 @@ public class ShopChest extends JavaPlugin { } try { - Commands.registerCommand(new Commands(this, Config.main_command_name(), "Manage Shops.", "", new ArrayList()), this); + Commands.registerCommand(new Commands(this, Config.main_command_name, "Manage Shops.", "", new ArrayList()), this); } catch (Exception e) { e.printStackTrace(); } @@ -255,7 +324,7 @@ public class ShopChest extends JavaPlugin { getServer().getPluginManager().registerEvents(new UpdateHolograms(), this); getServer().getPluginManager().registerEvents(new RegenerateShopItem(), this); getServer().getPluginManager().registerEvents(new InteractShop(this), this); - getServer().getPluginManager().registerEvents(new NotifyUpdate(), this); + getServer().getPluginManager().registerEvents(new NotifyUpdate(this), this); getServer().getPluginManager().registerEvents(new ProtectChest(), this); getServer().getPluginManager().registerEvents(new ItemCustomNameListener(), this); @@ -263,7 +332,7 @@ public class ShopChest extends JavaPlugin { getServer().getPluginManager().registerEvents(new RegenerateShopItemAfterRemove(), this); if (getServer().getPluginManager().getPlugin("LWC") != null) - new LWCMagnetListener().initializeListener(); + new LWCMagnetListener(this).initializeListener(); } @Override @@ -271,35 +340,66 @@ public class ShopChest extends JavaPlugin { for (Shop shop : ShopUtils.getShops()) { ShopUtils.removeShop(shop, false); } - - for (World world : Bukkit.getWorlds()) { - for (Entity entity : world.getEntities()) { - if (entity instanceof Item) { - Item item = (Item) entity; - if (item.hasMetadata("shopItem")) { - item.remove(); - } - } - } - } } private void initializeShops() { - int count = 0; - - for (int id = 1; id < database.getHighestID() + 1; id++) { - try { - Shop shop = (Shop) database.get(id, Database.ShopInfo.SHOP); - ShopUtils.addShop(shop, false); - } catch (NullPointerException e) { - continue; - } - - count++; - } - - logger.info("Initialized " + String.valueOf(count) + " Shops"); + int count = ShopUtils.reloadShops(); + getLogger().info("Initialized " + String.valueOf(count) + " Shops"); } + public LanguageConfiguration getLanguageConfig() { + return langConfig; + } + public Economy getEconomy() { + return econ; + } + + public Permission getPermission() { + return perm; + } + + public Database getShopDatabase() { + return database; + } + + public boolean hasLWC() { + return lwc; + } + + public boolean hasLockette() { + return lockette; + } + + public boolean isUpdateNeeded() { + return isUpdateNeeded; + } + + public void setUpdateNeeded(boolean isUpdateNeeded) { + this.isUpdateNeeded = isUpdateNeeded; + } + + public String getLatestVersion() { + return latestVersion; + } + + public void setLatestVersion(String latestVersion) { + this.latestVersion = latestVersion; + } + + public String getDownloadLink() { + return downloadLink; + } + + public void setDownloadLink(String downloadLink) { + this.downloadLink = downloadLink; + } + + public String[] getBroadcast() { + return broadcast; + } + + public void setBroadcast(String[] broadcast) { + this.broadcast = broadcast; + } } diff --git a/src/de/epiceric/shopchest/config/Config.java b/src/de/epiceric/shopchest/config/Config.java index dd1beb2..53bed83 100644 --- a/src/de/epiceric/shopchest/config/Config.java +++ b/src/de/epiceric/shopchest/config/Config.java @@ -12,371 +12,44 @@ public class Config { private static ShopChest plugin = ShopChest.getInstance(); - public static String database_mysql_host() { - return plugin.getConfig().getString("database.mysql.hostname"); - } + public static String database_mysql_host = plugin.getConfig().getString("database.mysql.hostname"); - public static int database_mysql_port() { - return plugin.getConfig().getInt("database.mysql.port"); - } + public static int database_mysql_port = plugin.getConfig().getInt("database.mysql.port"); - public static String database_mysql_database() { - return plugin.getConfig().getString("database.mysql.database"); - } + public static String database_mysql_database = plugin.getConfig().getString("database.mysql.database"); - public static String database_mysql_username() { - return plugin.getConfig().getString("database.mysql.username"); - } + public static String database_mysql_username = plugin.getConfig().getString("database.mysql.username"); - public static String database_mysql_password() { - return plugin.getConfig().getString("database.mysql.password"); - } + public static String database_mysql_password = plugin.getConfig().getString("database.mysql.password"); - public static Database.DatabaseType database_type() { - return Database.DatabaseType.valueOf(plugin.getConfig().getString("database.type")); - } + public static Database.DatabaseType database_type = Database.DatabaseType.valueOf(plugin.getConfig().getString("database.type")); - public static Set minimum_prices() { - return (plugin.getConfig().getConfigurationSection("minimum-prices") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("minimum-prices").getKeys(true); - } + public static Set minimum_prices = (plugin.getConfig().getConfigurationSection("minimum-prices") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("minimum-prices").getKeys(true); - public static Set shopLimits_group() { - return (plugin.getConfig().getConfigurationSection("shop-limits.group") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("shop-limits.group").getKeys(true); - } + public static Set shopLimits_group = (plugin.getConfig().getConfigurationSection("shop-limits.group") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("shop-limits.group").getKeys(true); - public static Set shopLimits_player() { - return (plugin.getConfig().getConfigurationSection("shop-limits.player") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("shop-limits.player").getKeys(true); - } + public static Set shopLimits_player = (plugin.getConfig().getConfigurationSection("shop-limits.player") == null) ? new HashSet() : plugin.getConfig().getConfigurationSection("shop-limits.player").getKeys(true); - public static List blacklist() { - return (plugin.getConfig().getStringList("blacklist") == null) ? new ArrayList() : plugin.getConfig().getStringList("blacklist"); - } + public static List blacklist = (plugin.getConfig().getStringList("blacklist") == null) ? new ArrayList() : plugin.getConfig().getStringList("blacklist"); - public static boolean buy_greater_or_equal_sell() { - return plugin.getConfig().getBoolean("buy-greater-or-equal-sell"); - } + public static boolean buy_greater_or_equal_sell = plugin.getConfig().getBoolean("buy-greater-or-equal-sell"); - public static boolean hopper_protection() { - return plugin.getConfig().getBoolean("hopper-protection"); - } + public static boolean hopper_protection = plugin.getConfig().getBoolean("hopper-protection"); - public static boolean explosion_protection() { - return plugin.getConfig().getBoolean("explosion-protection"); - } + public static boolean explosion_protection = plugin.getConfig().getBoolean("explosion-protection"); - public static boolean enable_broadcast() { - return plugin.getConfig().getBoolean("enable-broadcast"); - } + public static boolean enable_broadcast = plugin.getConfig().getBoolean("enable-broadcast"); - public static double maximal_distance() { - return plugin.getConfig().getDouble("maximal-distance"); - } + public static double maximal_distance = plugin.getConfig().getDouble("maximal-distance"); - public static double shop_creation_price_normal() { - return plugin.getConfig().getDouble("shop-creation-price.normal"); - } + public static double shop_creation_price_normal = plugin.getConfig().getDouble("shop-creation-price.normal"); - public static double shop_creation_price_admin() { - return plugin.getConfig().getDouble("shop-creation-price.admin"); - } + public static double shop_creation_price_admin = plugin.getConfig().getDouble("shop-creation-price.admin"); - public static int default_limit() { - return plugin.getConfig().getInt("shop-limits.default"); - } + public static int default_limit = plugin.getConfig().getInt("shop-limits.default"); - public static String main_command_name() { - return plugin.getConfig().getString("main-command-name"); - } + public static String main_command_name = plugin.getConfig().getString("main-command-name"); - public static String shop_created() { - return plugin.getConfig().getString("messages.shop-created").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } + public static String language_file = plugin.getConfig().getString("language-file"); - public static String chest_already_shop() { - return plugin.getConfig().getString("messages.chest-already-shop").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shop_removed() { - return plugin.getConfig().getString("messages.shop-removed").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String chest_no_shop() { - return plugin.getConfig().getString("messages.chest-no-shop").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String block_no_chest() { - return plugin.getConfig().getString("messages.block-no-chest").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String not_enough_inventory_space() { - return plugin.getConfig().getString("messages.not-enough-inventory-space").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String chest_not_enough_inventory_space() { - return plugin.getConfig().getString("messages.chest-not-enough-inventory-space").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String not_enough_money() { - return plugin.getConfig().getString("messages.not-enough-money").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String not_enough_items() { - return plugin.getConfig().getString("messages.not-enough-items").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String vendor_not_enough_money() { - return plugin.getConfig().getString("messages.vendor-not-enough-money").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String out_of_stock() { - return plugin.getConfig().getString("messages.out-of-stock").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String amount_and_price_not_number() { - return plugin.getConfig().getString("messages.amount-and-price-not-number").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String no_item_in_hand() { - return plugin.getConfig().getString("messages.no-item-in-hand").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String click_chest_to_create() { - return plugin.getConfig().getString("messages.click-chest-to-create-shop").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String click_chest_to_remove() { - return plugin.getConfig().getString("messages.click-chest-to-remove-shop").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String click_chest_for_info() { - return plugin.getConfig().getString("messages.click-chest-for-info").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_create() { - return plugin.getConfig().getString("messages.command-description.create").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_remove() { - return plugin.getConfig().getString("messages.command-description.remove").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_info() { - return plugin.getConfig().getString("messages.command-description.info").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_reload() { - return plugin.getConfig().getString("messages.command-description.reload").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_update() { - return plugin.getConfig().getString("messages.command-description.update").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cmdDesc_limits() { - return plugin.getConfig().getString("messages.command-description.limits").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_isNormal() { - return plugin.getConfig().getString("messages.shop-info.is-normal").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_isAdmin() { - return plugin.getConfig().getString("messages.shop-info.is-admin").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_create() { - return plugin.getConfig().getString("messages.no-permission.create").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_createAdmin() { - return plugin.getConfig().getString("messages.no-permission.create-admin").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_openOthers() { - return plugin.getConfig().getString("messages.no-permission.open-others").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_removeOthers() { - return plugin.getConfig().getString("messages.no-permission.remove-others").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_buy() { - return plugin.getConfig().getString("messages.no-permission.buy").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_sell() { - return plugin.getConfig().getString("messages.no-permission.sell").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_reload() { - return plugin.getConfig().getString("messages.no-permission.reload").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_update() { - return plugin.getConfig().getString("messages.no-permission.update").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String noPermission_limits() { - return plugin.getConfig().getString("messages.no-permission.limits").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cannot_break_shop() { - return plugin.getConfig().getString("messages.cannot-break-shop").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cannot_sell_broken_item() { - return plugin.getConfig().getString("messages.cannot-sell-broken-item").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String disabled() { - return plugin.getConfig().getString("messages.shop-info.disabled").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String buy_and_sell_disabled() { - return plugin.getConfig().getString("messages.buy-and-sell-disabled").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String selling_disabled() { - return plugin.getConfig().getString("messages.selling-disabled").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String buying_disabled() { - return plugin.getConfig().getString("messages.buying-disabled").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String checking_update() { - return plugin.getConfig().getString("messages.update.checking").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String no_new_update() { - return plugin.getConfig().getString("messages.update.no-update").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String click_to_download() { - return plugin.getConfig().getString("messages.update.click-to-download").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String update_check_error() { - return plugin.getConfig().getString("messages.update.error").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String cannot_sell_item() { - return plugin.getConfig().getString("messages.cannot-sell-item").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String none() { - return plugin.getConfig().getString("messages.shop-info.none").replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shop_create_not_enough_money(double creationPrice) { - return plugin.getConfig().getString("messages.shop-create-not-enough-money").replace(Regex.creationPrice, getPriceString(creationPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String limit_reached(int limit) { - return plugin.getConfig().getString("messages.shop-limit-reached").replace(Regex.limit, String.valueOf(limit)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String reloaded_shops(int amount) { - return plugin.getConfig().getString("messages.reloaded-shops").replace(Regex.amount, String.valueOf(amount)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String opened_shop(String vendor) { - return plugin.getConfig().getString("messages.opened-shop").replace(Regex.vendor, vendor).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String buyPrice_too_low(double minPrice) { - return plugin.getConfig().getString("messages.buy-price-too-low").replace(Regex.minPrice, getPriceString(minPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String sellPrice_too_low(double minPrice) { - return plugin.getConfig().getString("messages.sell-price-too-low").replace(Regex.minPrice, getPriceString(minPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String update_available(String version) { - return plugin.getConfig().getString("messages.update.update-available").replace(Regex.version, version); - } - - public static String hologram_format(int amount, String itemName) { - return plugin.getConfig().getString("messages.hologram.format").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String hologram_buy_sell(double buyPrice, double sellPrice) { - return plugin.getConfig().getString("messages.hologram.buy-and-sell").replace(Regex.buyPrice, getPriceString(buyPrice)).replace(Regex.sellPrice, getPriceString(sellPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String hologram_buy(double buyPrice) { - return plugin.getConfig().getString("messages.hologram.only-buy").replace(Regex.buyPrice, getPriceString(buyPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String hologram_sell(double sellPrice) { - return plugin.getConfig().getString("messages.hologram.only-sell").replace(Regex.sellPrice, getPriceString(sellPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String error_occurred(String error) { - return plugin.getConfig().getString("messages.error-occurred").replace(Regex.error, error).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_vendor(String vendor) { - return plugin.getConfig().getString("messages.shop-info.vendor").replace(Regex.vendor, vendor).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_product(int amount, String itemName) { - return plugin.getConfig().getString("messages.shop-info.product").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_enchantment(String enchantment) { - return plugin.getConfig().getString("messages.shop-info.enchantments").replace(Regex.enchantment, enchantment).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_arrowEffect(String arrowEffect) { - return plugin.getConfig().getString("messages.shop-info.arrow-effect").replace(Regex.arrowEffect, arrowEffect).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_price(double buyPrice, double sellPrice) { - if ((buyPrice <= 0) && (sellPrice > 0)) { - return plugin.getConfig().getString("messages.shop-info.price").replace(Regex.buyPrice, disabled()).replace(Regex.sellPrice, getPriceString(sellPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } else if ((sellPrice <= 0) && (buyPrice > 0)) { - return plugin.getConfig().getString("messages.shop-info.price").replace(Regex.buyPrice, getPriceString(buyPrice)).replace(Regex.sellPrice, disabled()).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } else if ((sellPrice > 0) && (buyPrice > 0)) { - return plugin.getConfig().getString("messages.shop-info.price").replace(Regex.buyPrice, getPriceString(buyPrice)).replace(Regex.sellPrice, getPriceString(sellPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } else { - return plugin.getConfig().getString("messages.shop-info.price").replace(Regex.buyPrice, disabled()).replace(Regex.sellPrice, disabled()).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - } - - public static String buy_success(int amount, String itemName, double buyPrice, String vendor) { - return plugin.getConfig().getString("messages.buy-success").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.buyPrice, getPriceString(buyPrice)).replace(Regex.vendor, vendor).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String buy_success_admin(int amount, String itemName, double buyPrice) { - return plugin.getConfig().getString("messages.buy-success-admin").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.buyPrice, getPriceString(buyPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String sell_success(int amount, String itemName, double sellPrice, String vendor) { - return plugin.getConfig().getString("messages.sell-success").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.sellPrice, getPriceString(sellPrice)).replace(Regex.vendor, vendor).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String sell_success_admin(int amount, String itemName, double sellPrice) { - return plugin.getConfig().getString("messages.sell-success-admin").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.sellPrice, getPriceString(sellPrice)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String someone_bought(int amount, String itemName, double buyPrice, String player) { - return plugin.getConfig().getString("messages.someone-bought").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.buyPrice, getPriceString(buyPrice)).replace(Regex.player, player).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String someone_sold(int amount, String itemName, double sellPrice, String player) { - return plugin.getConfig().getString("messages.someone-sold").replace(Regex.amount, String.valueOf(amount)).replace(Regex.itemName, itemName).replace(Regex.sellPrice, getPriceString(sellPrice)).replace(Regex.player, player).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String occupied_shop_slots(int limit, int amount) { - return plugin.getConfig().getString("messages.occupied-shop-slots").replace(Regex.limit, (limit == -1) ? "∞" : String.valueOf(limit)).replace(Regex.amount, String.valueOf(amount)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - public static String shopInfo_stock(int amount) { - return plugin.getConfig().getString("messages.shop-info.stock").replace(Regex.amount, String.valueOf(amount)).replaceAll("(&([a-f0-9k-or]))", "\u00A7$2"); - } - - private static String getPriceString(double price) { - return ShopChest.econ.format(price); - } } diff --git a/src/de/epiceric/shopchest/config/LanguageConfiguration.java b/src/de/epiceric/shopchest/config/LanguageConfiguration.java new file mode 100644 index 0000000..7c5b321 --- /dev/null +++ b/src/de/epiceric/shopchest/config/LanguageConfiguration.java @@ -0,0 +1,92 @@ +package de.epiceric.shopchest.config; + +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.configuration.file.FileConfiguration; + +import java.io.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.regex.Matcher; + +public class LanguageConfiguration extends FileConfiguration { + + private ArrayList lines = new ArrayList<>(); + private HashMap values = new HashMap<>(); + + @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); + } + } + + return def; + } + + @Override + public void load(File file) throws IOException, InvalidConfigurationException { + FileInputStream fis = new FileInputStream(file); + InputStreamReader isr = new InputStreamReader(fis, "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++) { + sbValue.append(line.split("=")[i]); + } + + String value = Matcher.quoteReplacement(sbValue.toString()); + + values.put(key, value); + } + } + } + } + } + } + + @Override + protected String buildHeader() { + return null; + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/config/Regex.java b/src/de/epiceric/shopchest/config/Regex.java index 915d342..497542c 100644 --- a/src/de/epiceric/shopchest/config/Regex.java +++ b/src/de/epiceric/shopchest/config/Regex.java @@ -1,19 +1,30 @@ package de.epiceric.shopchest.config; -public class Regex { +public enum Regex { - public static String vendor = "%VENDOR%"; - public static String amount = "%AMOUNT%"; - public static String itemName = "%ITEMNAME%"; - public static String creationPrice = "%CREATION-PRICE%"; - public static String error = "%ERROR%"; - public static String enchantment = "%ENCHANTMENT%"; - public static String minPrice = "%MIN-PRICE%"; - public static String version = "%VERSION%"; - public static String buyPrice = "%BUY-PRICE%"; - public static String sellPrice = "%SELL-PRICE%"; - public static String limit = "%LIMIT%"; - public static String player = "%PLAYER%"; - public static String arrowEffect = "%ARROW-EFFECT%"; + VENDOR("%VENDOR%"), + AMOUNT("%AMOUNT%"), + ITEM_NAME("%ITEMNAME%"), + CREATION_PRICE("%CREATION-PRICE%"), + ERROR("%ERROR%"), + ENCHANTMENT("%ENCHANTMENT%"), + MIN_PRICE("%MIN-PRICE%"), + VERSION("%VERSION%"), + BUY_PRICE("%BUY-PRICE%"), + SELL_PRICE("%SELL-PRICE%"), + LIMIT("%LIMIT%"), + PLAYER("%PLAYER%"), + POTION_EFFECT("%POTION-EFFECT%"), + MUSIC_TITLE("%MUSIC-TITLE%"); + + private String name; + + Regex(String name) { + this.name = name; + } + + public String getName() { + return name; + } } diff --git a/src/de/epiceric/shopchest/event/InteractShop.java b/src/de/epiceric/shopchest/event/InteractShop.java index 10509ae..65a6517 100644 --- a/src/de/epiceric/shopchest/event/InteractShop.java +++ b/src/de/epiceric/shopchest/event/InteractShop.java @@ -3,11 +3,15 @@ package de.epiceric.shopchest.event; import com.griefcraft.lwc.LWC; import com.griefcraft.model.Protection; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.config.Regex; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.shop.Shop; import de.epiceric.shopchest.shop.Shop.ShopType; import de.epiceric.shopchest.sql.Database; -import de.epiceric.shopchest.utils.*; +import de.epiceric.shopchest.utils.ClickType; +import de.epiceric.shopchest.utils.ShopUtils; +import de.epiceric.shopchest.utils.Utils; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.EconomyResponse; import net.milkbowl.vault.permission.Permission; @@ -35,17 +39,19 @@ import java.util.Map; public class InteractShop implements Listener { private ShopChest plugin; - private Permission perm = ShopChest.perm; - private Economy econ = ShopChest.econ; - private Database database = ShopChest.database; + private Permission perm; + private Economy econ; + private Database database; public InteractShop(ShopChest plugin) { this.plugin = plugin; + this.perm = plugin.getPermission(); + this.econ = plugin.getEconomy(); + this.database = plugin.getShopDatabase(); } @EventHandler public void onPlayerInteract(PlayerInteractEvent e) { - Block b = e.getClickedBlock(); Player p = e.getPlayer(); @@ -62,8 +68,8 @@ public class InteractShop implements Listener { case CREATE: e.setCancelled(true); - if (!p.isOp() || !perm.has(p, "shopchest.create.protected")) { - if (ShopChest.lockette) { + if (!perm.has(p, "shopchest.create.protected")) { + if (plugin.hasLockette()) { if (Lockette.isProtected(b)) { if (!Lockette.isOwner(b, p) || !Lockette.isUser(b, p, true)) { ClickType.removePlayerClickType(p); @@ -72,7 +78,7 @@ public class InteractShop implements Listener { } } - if (ShopChest.lwc) { + if (plugin.hasLWC()) { if (LWC.getInstance().getPhysicalDatabase().loadProtection(b.getLocation().getWorld().getName(), b.getX(), b.getY(), b.getZ()) != null) { Protection protection = LWC.getInstance().getPhysicalDatabase().loadProtection(b.getLocation().getWorld().getName(), b.getX(), b.getY(), b.getZ()); if (!protection.isOwner(p) || !protection.isRealOwner(p)) { @@ -93,7 +99,7 @@ public class InteractShop implements Listener { create(p, b.getLocation(), product, buyPrice, sellPrice, shopType); } else { - p.sendMessage(Config.chest_already_shop()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_ALREADY_SHOP)); } ClickType.removePlayerClickType(p); @@ -108,7 +114,7 @@ public class InteractShop implements Listener { info(p, shop); } else { - p.sendMessage(Config.chest_no_shop()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_NO_SHOP)); } ClickType.removePlayerClickType(p); @@ -124,11 +130,11 @@ public class InteractShop implements Listener { if (shop.getVendor().getUniqueId().equals(p.getUniqueId()) || perm.has(p, "shopchest.removeOther")) { remove(p, shop); } else { - p.sendMessage(Config.noPermission_removeOthers()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_REMOVE_OTHERS)); } } else { - p.sendMessage(Config.chest_no_shop()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_NO_SHOP)); } ClickType.removePlayerClickType(p); @@ -145,10 +151,10 @@ public class InteractShop implements Listener { if (p.isSneaking()) { if (!shop.getVendor().getUniqueId().equals(p.getUniqueId())) { if (perm.has(p, "shopchest.openOther")) { - p.sendMessage(Config.opened_shop(shop.getVendor().getName())); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.OPENED_SHOP, new LocalizedMessage.ReplacedRegex(Regex.VENDOR, shop.getVendor().getName()))); e.setCancelled(false); } else { - p.sendMessage(Config.noPermission_openOthers()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_OPEN_OTHERS)); } } else { e.setCancelled(false); @@ -164,14 +170,14 @@ public class InteractShop implements Listener { if (Utils.getAmount(c.getInventory(), shop.getProduct()) >= shop.getProduct().getAmount()) { buy(p, shop); } else { - p.sendMessage(Config.out_of_stock()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.OUT_OF_STOCK)); } } } else { - p.sendMessage(Config.noPermission_buy()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_BUY)); } } else { - p.sendMessage(Config.buying_disabled()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUYING_DISABLED)); } } else { e.setCancelled(false); @@ -194,13 +200,13 @@ public class InteractShop implements Listener { if (Utils.getAmount(p.getInventory(), shop.getProduct()) >= shop.getProduct().getAmount()) { sell(p, shop); } else { - p.sendMessage(Config.not_enough_items()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NOT_ENOUGH_ITEMS)); } } else { - p.sendMessage(Config.noPermission_sell()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_SELL)); } } else { - p.sendMessage(Config.selling_disabled()); + p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SELLING_DISABLED)); } } else { e.setCancelled(false); @@ -221,7 +227,7 @@ public class InteractShop implements Listener { Shop shop = new Shop(database.getNextFreeID(), plugin, executor, product, location, buyPrice, sellPrice, shopType); ShopUtils.addShop(shop, true); - executor.sendMessage(Config.shop_created()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_CREATED)); for (Player p : Bukkit.getOnlinePlayers()) { Bukkit.getPluginManager().callEvent(new PlayerMoveEvent(p, p.getLocation(), p.getLocation())); @@ -231,35 +237,43 @@ public class InteractShop implements Listener { private void remove(Player executor, Shop shop) { ShopUtils.removeShop(shop, true); - executor.sendMessage(Config.shop_removed()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_REMOVED)); } private void info(Player executor, Shop shop) { - Chest c = (Chest) shop.getLocation().getBlock().getState(); int amount = Utils.getAmount(c.getInventory(), shop.getProduct()); + Material type = shop.getProduct().getType(); - String vendor = Config.shopInfo_vendor(shop.getVendor().getName()); - String product = Config.shopInfo_product(shop.getProduct().getAmount(), ItemNames.lookup(shop.getProduct())); + String vendor = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_VENDOR, new LocalizedMessage.ReplacedRegex(Regex.VENDOR, shop.getVendor().getName())); + String product = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_PRODUCT, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(shop.getProduct().getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(shop.getProduct()))); String enchantmentString = ""; - String arrowEffectString = ""; - String price = Config.shopInfo_price(shop.getBuyPrice(), shop.getSellPrice()); - String shopType; - String stock = Config.shopInfo_stock(amount); - - if (shop.getShopType() == ShopType.NORMAL) shopType = Config.shopInfo_isNormal(); - else shopType = Config.shopInfo_isAdmin(); + String potionEffectString = ""; + String musicDiscName = LanguageUtils.getMusicDiscName(type); + String price = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_PRICE, new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(shop.getBuyPrice())), + new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(shop.getSellPrice()))); + String shopType = LanguageUtils.getMessage(shop.getShopType() == ShopType.NORMAL ? LocalizedMessage.Message.SHOP_INFO_NORMAL : LocalizedMessage.Message.SHOP_INFO_ADMIN); + String stock = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_STOCK, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(amount))); Map enchantmentMap; - if (Utils.getVersion(Bukkit.getServer()).contains("1_9")) { - if (shop.getProduct().getType() == Material.TIPPED_ARROW) { - arrowEffectString = ArrowEffectNames.getTippedArrowName(shop.getProduct()); - if (arrowEffectString == null) arrowEffectString = Config.none(); + if (Utils.getMajorVersion() >= 9) { + if (type == Material.TIPPED_ARROW || type == Material.LINGERING_POTION) { + potionEffectString = LanguageUtils.getPotionEffectName(shop.getProduct()); + if (potionEffectString == null) + potionEffectString = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_NONE); } } + if (type == Material.POTION || type == Material.SPLASH_POTION) { + potionEffectString = LanguageUtils.getPotionEffectName(shop.getProduct()); + if (potionEffectString == null) + potionEffectString = LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_NONE); + } + + if (shop.getProduct().getItemMeta() instanceof EnchantmentStorageMeta) { EnchantmentStorageMeta esm = (EnchantmentStorageMeta) shop.getProduct().getItemMeta(); enchantmentMap = esm.getStoredEnchants(); @@ -270,23 +284,25 @@ public class InteractShop implements Listener { Enchantment[] enchantments = enchantmentMap.keySet().toArray(new Enchantment[enchantmentMap.size()]); for (int i = 0; i < enchantments.length; i++) { - Enchantment enchantment = enchantments[i]; if (i == enchantments.length - 1) { - enchantmentString += EnchantmentNames.lookup(enchantment, enchantmentMap.get(enchantment)); + enchantmentString += LanguageUtils.getEnchantmentName(enchantment, enchantmentMap.get(enchantment)); } else { - enchantmentString += EnchantmentNames.lookup(enchantment, enchantmentMap.get(enchantment)) + ", "; + enchantmentString += LanguageUtils.getEnchantmentName(enchantment, enchantmentMap.get(enchantment)) + ", "; } - } executor.sendMessage(" "); if (shop.getShopType() != ShopType.ADMIN) executor.sendMessage(vendor); executor.sendMessage(product); if (shop.getShopType() != ShopType.ADMIN) executor.sendMessage(stock); - if (enchantmentString.length() > 0) executor.sendMessage(Config.shopInfo_enchantment(enchantmentString)); - if (arrowEffectString.length() > 0) executor.sendMessage(Config.shopInfo_arrowEffect(arrowEffectString)); + if (enchantmentString.length() > 0) + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_ENCHANTMENTS, new LocalizedMessage.ReplacedRegex(Regex.ENCHANTMENT, enchantmentString))); + if (potionEffectString.length() > 0) + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_POTION_EFFECT, new LocalizedMessage.ReplacedRegex(Regex.POTION_EFFECT, potionEffectString))); + if (musicDiscName.length() > 0) + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SHOP_INFO_MUSIC_TITLE, new LocalizedMessage.ReplacedRegex(Regex.MUSIC_TITLE, musicDiscName))); executor.sendMessage(price); executor.sendMessage(shopType); executor.sendMessage(" "); @@ -315,7 +331,7 @@ public class InteractShop implements Listener { } } - if (Utils.getVersion(Bukkit.getServer()).contains("1_9")) { + if (Utils.getMajorVersion() >= 9) { ItemStack item = inventory.getItem(40); if (item == null) { slotFree.put(40, product.getMaxStackSize()); @@ -344,28 +360,33 @@ public class InteractShop implements Listener { addToInventory(inventory, product); removeFromInventory(c.getInventory(), product); executor.updateInventory(); - executor.sendMessage(Config.buy_success(product.getAmount(), ItemNames.lookup(product), shop.getBuyPrice(), shop.getVendor().getName())); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUY_SUCCESS, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(shop.getBuyPrice())), + new LocalizedMessage.ReplacedRegex(Regex.VENDOR, shop.getVendor().getName()))); if (shop.getVendor().isOnline()) { - shop.getVendor().getPlayer().sendMessage(Config.someone_bought(product.getAmount(), ItemNames.lookup(product), shop.getBuyPrice(), executor.getName())); + shop.getVendor().getPlayer().sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SOMEONE_BOUGHT, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(shop.getBuyPrice())), + new LocalizedMessage.ReplacedRegex(Regex.PLAYER, executor.getName()))); } } else { - executor.sendMessage(Config.error_occurred(r2.errorMessage)); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.ERROR_OCCURRED, new LocalizedMessage.ReplacedRegex(Regex.ERROR, r2.errorMessage))); } } else { addToInventory(inventory, product); executor.updateInventory(); - executor.sendMessage(Config.buy_success_admin(product.getAmount(), ItemNames.lookup(product), shop.getBuyPrice())); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.BUY_SUCESS_ADMIN, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(shop.getBuyPrice())))); } } else { - executor.sendMessage(Config.error_occurred(r.errorMessage)); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.ERROR_OCCURRED, new LocalizedMessage.ReplacedRegex(Regex.ERROR, r.errorMessage))); } } else { - executor.sendMessage(Config.not_enough_inventory_space()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NOT_ENOUGH_INVENTORY_SPACE)); } } else { - executor.sendMessage(Config.not_enough_money()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NOT_ENOUGH_MONEY)); } } @@ -408,32 +429,37 @@ public class InteractShop implements Listener { addToInventory(inventory, product); removeFromInventory(executor.getInventory(), product); executor.updateInventory(); - executor.sendMessage(Config.sell_success(product.getAmount(), ItemNames.lookup(product), shop.getSellPrice(), shop.getVendor().getName())); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SELL_SUCESS, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(shop.getSellPrice())), + new LocalizedMessage.ReplacedRegex(Regex.VENDOR, shop.getVendor().getName()))); if (shop.getVendor().isOnline()) { - shop.getVendor().getPlayer().sendMessage(Config.someone_sold(product.getAmount(), ItemNames.lookup(product), shop.getSellPrice(), executor.getName())); + shop.getVendor().getPlayer().sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SOMEONE_SOLD, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(shop.getSellPrice())), + new LocalizedMessage.ReplacedRegex(Regex.PLAYER, executor.getName()))); } } else { - executor.sendMessage(Config.error_occurred(r2.errorMessage)); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.ERROR_OCCURRED, new LocalizedMessage.ReplacedRegex(Regex.ERROR, r2.errorMessage))); } } else { removeFromInventory(executor.getInventory(), product); executor.updateInventory(); - executor.sendMessage(Config.sell_success_admin(product.getAmount(), ItemNames.lookup(product), shop.getSellPrice())); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.SELL_SUCESS_ADMIN, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product)), new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(shop.getSellPrice())))); } } else { - executor.sendMessage(Config.error_occurred(r.errorMessage)); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.ERROR_OCCURRED, new LocalizedMessage.ReplacedRegex(Regex.ERROR, r.errorMessage))); } } else { - executor.sendMessage(Config.chest_not_enough_inventory_space()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_NOT_ENOUGH_INVENTORY_SPACE)); } } else { - executor.sendMessage(Config.vendor_not_enough_money()); + executor.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.VENDOR_NOT_ENOUGH_MONEY)); } } @@ -443,7 +469,7 @@ public class InteractShop implements Listener { int added = 0; if (inventory instanceof PlayerInventory) { - if (Utils.getVersion(plugin.getServer()).contains("1_9")) { + if (Utils.getMajorVersion() >= 9) { inventoryItems.put(40, inventory.getItem(40)); } @@ -493,7 +519,7 @@ public class InteractShop implements Listener { int removed = 0; if (inventory instanceof PlayerInventory) { - if (Utils.getVersion(plugin.getServer()).contains("1_9")) { + if (Utils.getMajorVersion() >= 9) { inventoryItems.put(40, inventory.getItem(40)); } diff --git a/src/de/epiceric/shopchest/event/LWCMagnetListener.java b/src/de/epiceric/shopchest/event/LWCMagnetListener.java index 886026b..7f2a3f6 100644 --- a/src/de/epiceric/shopchest/event/LWCMagnetListener.java +++ b/src/de/epiceric/shopchest/event/LWCMagnetListener.java @@ -7,6 +7,12 @@ import de.epiceric.shopchest.ShopChest; public class LWCMagnetListener { + private ShopChest plugin; + + public LWCMagnetListener(ShopChest plugin) { + this.plugin = plugin; + } + public void initializeListener() { try { Class.forName("com.griefcraft.scripting.event.LWCMagnetPullEvent"); @@ -23,9 +29,10 @@ public class LWCMagnetListener { }); } catch (ClassNotFoundException ex) { - ShopChest.logger.warning("Shop items can be sucked up by the magnet flag of a protected chest of LWC."); - ShopChest.logger.warning("Use 'LWC Unofficial - Entity locking' v1.7.3 or later by 'Me_Goes_RAWR' to prevent this."); - }; + plugin.getLogger().warning("Shop items can be sucked up by the magnet flag of a protected chest of LWC."); + plugin.getLogger().warning("Use 'LWC Unofficial - Entity locking' v1.7.3 or later by 'Me_Goes_RAWR' to prevent this."); + } + ; } diff --git a/src/de/epiceric/shopchest/event/NotifyUpdate.java b/src/de/epiceric/shopchest/event/NotifyUpdate.java index c0bc610..56a1ff1 100644 --- a/src/de/epiceric/shopchest/event/NotifyUpdate.java +++ b/src/de/epiceric/shopchest/event/NotifyUpdate.java @@ -1,9 +1,11 @@ package de.epiceric.shopchest.event; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.config.Regex; import de.epiceric.shopchest.interfaces.JsonBuilder; import de.epiceric.shopchest.interfaces.jsonbuilder.*; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.utils.Utils; import net.milkbowl.vault.permission.Permission; import org.bukkit.entity.Player; @@ -13,9 +15,12 @@ import org.bukkit.event.player.PlayerJoinEvent; public class NotifyUpdate implements Listener { - private Permission perm = ShopChest.perm; + private ShopChest plugin; + private Permission perm; - public NotifyUpdate() { + public NotifyUpdate(ShopChest plugin) { + this.plugin = plugin; + perm = plugin.getPermission(); } @EventHandler @@ -23,28 +28,28 @@ public class NotifyUpdate implements Listener { Player p = e.getPlayer(); - if (ShopChest.isUpdateNeeded) { + if (plugin.isUpdateNeeded()) { if (p.isOp() || perm.has(p, "shopchest.notification.update")) { JsonBuilder jb; - switch (Utils.getVersion(ShopChest.getInstance().getServer())) { + switch (Utils.getServerVersion()) { case "v1_8_R1": - jb = new JsonBuilder_1_8_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; case "v1_8_R2": - jb = new JsonBuilder_1_8_R2(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R2(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; case "v1_8_R3": - jb = new JsonBuilder_1_8_R3(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_8_R3(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; case "v1_9_R1": - jb = new JsonBuilder_1_9_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_9_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; case "v1_9_R2": - jb = new JsonBuilder_1_9_R2(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_9_R2(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; case "v1_10_R1": - jb = new JsonBuilder_1_10_R1(Config.update_available(ShopChest.latestVersion)); + jb = new JsonBuilder_1_10_R1(plugin, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, new LocalizedMessage.ReplacedRegex(Regex.VERSION, plugin.getLatestVersion()))); break; default: return; @@ -54,8 +59,8 @@ public class NotifyUpdate implements Listener { } if (perm.has(p, "shopchest.broadcast")) { - if (ShopChest.broadcast != null) { - for (String message : ShopChest.broadcast) { + if (plugin.getBroadcast() != null) { + for (String message : plugin.getBroadcast()) { p.sendMessage(message); } } diff --git a/src/de/epiceric/shopchest/event/ProtectChest.java b/src/de/epiceric/shopchest/event/ProtectChest.java index acd0e4c..28cafe0 100644 --- a/src/de/epiceric/shopchest/event/ProtectChest.java +++ b/src/de/epiceric/shopchest/event/ProtectChest.java @@ -2,6 +2,8 @@ package de.epiceric.shopchest.event; import de.epiceric.shopchest.ShopChest; import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.shop.Shop; import de.epiceric.shopchest.utils.ShopUtils; import org.bukkit.Material; @@ -23,20 +25,17 @@ import java.util.ArrayList; public class ProtectChest implements Listener { - public ProtectChest() { - } - @EventHandler public void onBlockBreak(BlockBreakEvent e) { if (ShopUtils.isShop(e.getBlock().getLocation())) { e.setCancelled(true); - e.getPlayer().sendMessage(Config.cannot_break_shop()); + e.getPlayer().sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CANNOT_BREAK_SHOP)); } } @EventHandler public void onBlockExplode(BlockExplodeEvent e) { - if (Config.explosion_protection()) { + if (Config.explosion_protection) { ArrayList bl = new ArrayList<>(e.blockList()); for (Block b : bl) { if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) { @@ -48,7 +47,7 @@ public class ProtectChest implements Listener { @EventHandler public void onEntityExplode(EntityExplodeEvent e) { - if (Config.explosion_protection()) { + if (Config.explosion_protection) { ArrayList bl = new ArrayList<>(e.blockList()); for (Block b : bl) { if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) { @@ -95,7 +94,7 @@ public class ProtectChest implements Listener { @EventHandler(priority = EventPriority.HIGH) public void onItemMove(InventoryMoveItemEvent e) { - if (Config.hopper_protection()) { + if (Config.hopper_protection) { if ((e.getSource().getType().equals(InventoryType.CHEST)) && (!e.getInitiator().getType().equals(InventoryType.PLAYER))) { if (e.getSource().getHolder() instanceof DoubleChest) { diff --git a/src/de/epiceric/shopchest/event/RegenerateShopItemAfterRemove.java b/src/de/epiceric/shopchest/event/RegenerateShopItemAfterRemove.java index 29367ab..7735789 100644 --- a/src/de/epiceric/shopchest/event/RegenerateShopItemAfterRemove.java +++ b/src/de/epiceric/shopchest/event/RegenerateShopItemAfterRemove.java @@ -1,26 +1,24 @@ package de.epiceric.shopchest.event; -import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.ShopUtils; +import me.minebuilders.clearlag.events.EntityRemoveEvent; import org.bukkit.entity.Entity; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import java.util.ArrayList; + public class RegenerateShopItemAfterRemove implements Listener { - @EventHandler(priority = EventPriority.HIGH) - public void onEntityRemove(me.minebuilders.clearlag.events.EntityRemoveEvent e) { - boolean containsShopItem = false; - for (Entity entity : e.getEntityList()) { + public void onEntityRemove(EntityRemoveEvent e) { + ArrayList entityList = new ArrayList<>(e.getEntityList()); + + for (Entity entity : entityList) { if (entity.hasMetadata("shopItem")) { - containsShopItem = true; - break; + e.getEntityList().remove(entity); } } - - if (containsShopItem) ShopUtils.reloadShops(null); } diff --git a/src/de/epiceric/shopchest/event/UpdateHolograms.java b/src/de/epiceric/shopchest/event/UpdateHolograms.java index 26b210f..9b28c82 100644 --- a/src/de/epiceric/shopchest/event/UpdateHolograms.java +++ b/src/de/epiceric/shopchest/event/UpdateHolograms.java @@ -28,7 +28,7 @@ public class UpdateHolograms implements Listener { if (playerLocation.getWorld().equals(shopLocation.getWorld())) { - if (playerLocation.distance(shop.getHologram().getLocation()) <= Config.maximal_distance()) { + if (playerLocation.distance(shop.getHologram().getLocation()) <= Config.maximal_distance) { if (!shop.getHologram().isVisible(p)) { shop.getHologram().showPlayer(p); diff --git a/src/de/epiceric/shopchest/interfaces/SpawnEggMeta.java b/src/de/epiceric/shopchest/interfaces/SpawnEggMeta.java new file mode 100644 index 0000000..a310150 --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/SpawnEggMeta.java @@ -0,0 +1,32 @@ +package de.epiceric.shopchest.interfaces; + +import org.bukkit.entity.EntityType; + +public abstract class SpawnEggMeta { + + public abstract String getNBTEntityID(); + + public EntityType getEntityTypeFromNBTEntityID(String nbtEntityID) { + if (nbtEntityID == null) return null; + + 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; + default: + return EntityType.valueOf(nbtEntityID.toUpperCase()); + + } + } + +} + diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_10_R1.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_10_R1.java index 8949bcb..84920c3 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_10_R1.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_10_R1.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_10_R1.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_10_R1.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_10_R1 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_10_R1(String... text) { + public JsonBuilder_1_10_R1(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_10_R1 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_10_R1 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R1.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R1.java index 9586791..9258c1e 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R1.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R1.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_8_R1.ChatSerializer; import net.minecraft.server.v1_8_R1.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_8_R1 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_8_R1(String... text) { + public JsonBuilder_1_8_R1(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_8_R1 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_8_R1 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R2.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R2.java index 90199a1..306f46c 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R2.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R2.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_8_R2.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_8_R2.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_8_R2 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_8_R2(String... text) { + public JsonBuilder_1_8_R2(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_8_R2 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_8_R2 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R3.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R3.java index 5b04442..ff0bd33 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R3.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_8_R3.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_8_R3 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_8_R3(String... text) { + public JsonBuilder_1_8_R3(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_8_R3 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_8_R3 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R1.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R1.java index 854d2b6..6d722b1 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R1.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R1.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_9_R1.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_9_R1.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_9_R1 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_9_R1(String... text) { + public JsonBuilder_1_9_R1(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_9_R1 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_9_R1 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R2.java b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R2.java index 5248e23..d4111cc 100644 --- a/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R2.java +++ b/src/de/epiceric/shopchest/interfaces/jsonbuilder/JsonBuilder_1_9_R2.java @@ -1,8 +1,9 @@ package de.epiceric.shopchest.interfaces.jsonbuilder; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.interfaces.JsonBuilder; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import net.minecraft.server.v1_9_R2.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_9_R2.PacketPlayOutChat; import org.bukkit.ChatColor; @@ -19,9 +20,10 @@ public class JsonBuilder_1_9_R2 implements JsonBuilder { /* JsonBuilder by FisheyLP */ private List extras = new ArrayList(); + private ShopChest plugin; - - public JsonBuilder_1_9_R2(String... text) { + public JsonBuilder_1_9_R2(ShopChest plugin, String... text) { + this.plugin = plugin; for (String extra : text) parse(extra); } @@ -31,7 +33,7 @@ public class JsonBuilder_1_9_R2 implements JsonBuilder { String regex = "[&�]{1}([a-fA-Fl-oL-O0-9]){1}"; text = text.replaceAll(regex, "�$1"); if (!Pattern.compile(regex).matcher(text).find()) { - withText(text).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(text).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); return this; } String[] words = text.split(regex); @@ -40,7 +42,7 @@ public class JsonBuilder_1_9_R2 implements JsonBuilder { for (String word : words) { try { if (index != words[0].length()) - withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, Config.click_to_download()).withClickEvent(ClickAction.OPEN_URL, ShopChest.downloadLink); + withText(word).withColor("�" + text.charAt(index - 1)).withHoverEvent(HoverAction.SHOW_TEXT, LanguageUtils.getMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD)).withClickEvent(ClickAction.OPEN_URL, plugin.getDownloadLink()); } catch (Exception e) { } index += word.length() + 2; diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_10_R1.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_10_R1.java new file mode 100644 index 0000000..d5bf804 --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_10_R1.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_10_R1.NBTTagCompound; +import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_10_R1 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_10_R1(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_10_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R1.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R1.java new file mode 100644 index 0000000..4b254a5 --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R1.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_8_R1.NBTTagCompound; +import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_8_R1 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_8_R1(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_8_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R2.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R2.java new file mode 100644 index 0000000..dab17d9 --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R2.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_8_R2.NBTTagCompound; +import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_8_R2 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_8_R2(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_8_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R3.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R3.java new file mode 100644 index 0000000..ec0e13c --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_8_R3.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_8_R3.NBTTagCompound; +import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_8_R3 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_8_R3(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_8_R3.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R1.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R1.java new file mode 100644 index 0000000..654324d --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R1.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_9_R1.NBTTagCompound; +import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_9_R1 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_9_R1(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_9_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R2.java b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R2.java new file mode 100644 index 0000000..13e1f46 --- /dev/null +++ b/src/de/epiceric/shopchest/interfaces/spawneggmeta/SpawnEggMeta_1_9_R2.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.interfaces.spawneggmeta; + + +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import net.minecraft.server.v1_9_R2.NBTTagCompound; +import org.bukkit.craftbukkit.v1_9_R2.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; + +public class SpawnEggMeta_1_9_R2 extends SpawnEggMeta { + + private ItemStack stack; + + public SpawnEggMeta_1_9_R2(ItemStack stack) { + this.stack = stack; + } + + public String getNBTEntityID() { + net.minecraft.server.v1_9_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(stack); + + NBTTagCompound tag = nmsStack.getTag(); + + return tag == null ? null : tag.getCompound("EntityTag").getString("id"); + } +} \ No newline at end of file diff --git a/src/de/epiceric/shopchest/language/EnchantmentName.java b/src/de/epiceric/shopchest/language/EnchantmentName.java new file mode 100644 index 0000000..2dc8ea6 --- /dev/null +++ b/src/de/epiceric/shopchest/language/EnchantmentName.java @@ -0,0 +1,42 @@ +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; + } + + + public Enchantment getEnchantment() { + return 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; + } + + public int getLevel() { + return level; + } + + public String getLocalizedName() { + return localizedName; + } + } + +} diff --git a/src/de/epiceric/shopchest/language/EntityName.java b/src/de/epiceric/shopchest/language/EntityName.java new file mode 100644 index 0000000..072be34 --- /dev/null +++ b/src/de/epiceric/shopchest/language/EntityName.java @@ -0,0 +1,22 @@ +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; + } + + public EntityType getEntityType() { + return entityType; + } + + public String getLocalizedName() { + return localizedName; + } +} diff --git a/src/de/epiceric/shopchest/language/ItemName.java b/src/de/epiceric/shopchest/language/ItemName.java new file mode 100644 index 0000000..e8c00e4 --- /dev/null +++ b/src/de/epiceric/shopchest/language/ItemName.java @@ -0,0 +1,35 @@ +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, int subID, String localizedName) { + this.material = material; + this.subID = subID; + this.localizedName = localizedName; + } + + public ItemName(Material material, String localizedName) { + this.material = material; + this.subID = 0; + this.localizedName = localizedName; + } + + public Material getMaterial() { + return material; + } + + public int getSubID() { + return subID; + } + + public String getLocalizedName() { + return localizedName; + } + +} diff --git a/src/de/epiceric/shopchest/language/LanguageUtils.java b/src/de/epiceric/shopchest/language/LanguageUtils.java new file mode 100644 index 0000000..929220c --- /dev/null +++ b/src/de/epiceric/shopchest/language/LanguageUtils.java @@ -0,0 +1,1079 @@ +package de.epiceric.shopchest.language; + +import de.epiceric.shopchest.ShopChest; +import de.epiceric.shopchest.config.LanguageConfiguration; +import de.epiceric.shopchest.config.Regex; +import de.epiceric.shopchest.interfaces.SpawnEggMeta; +import de.epiceric.shopchest.interfaces.spawneggmeta.*; +import de.epiceric.shopchest.utils.Utils; +import net.md_5.bungee.api.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.potion.PotionType; + +import java.util.ArrayList; + +public class LanguageUtils { + + private static ShopChest plugin = ShopChest.getInstance(); + private static LanguageConfiguration langConfig = plugin.getLanguageConfig(); + + 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 messages = new ArrayList<>(); + + + public static void load() { + itemNames.add(new ItemName(Material.STONE, langConfig.getString("tile.stone.stone.name", "Stone"))); + itemNames.add(new ItemName(Material.STONE, 1, langConfig.getString("tile.stone.granite.name", "Granite"))); + itemNames.add(new ItemName(Material.STONE, 2, langConfig.getString("tile.stone.graniteSmooth.name", "Polished Granite"))); + itemNames.add(new ItemName(Material.STONE, 3, langConfig.getString("tile.stone.diorite.name", "Diorite"))); + itemNames.add(new ItemName(Material.STONE, 4, langConfig.getString("tile.stone.dioriteSmooth.name", "Polished Diorite"))); + itemNames.add(new ItemName(Material.STONE, 5, langConfig.getString("tile.stone.andesite.name", "Andesite"))); + itemNames.add(new ItemName(Material.STONE, 6, langConfig.getString("tile.stone.andesiteSmooth.name", "Polished Andesite"))); + itemNames.add(new ItemName(Material.GRASS, langConfig.getString("tile.grass.name", "Grass Block"))); + itemNames.add(new ItemName(Material.DIRT, langConfig.getString("tile.dirt.default.name", "Dirt"))); + itemNames.add(new ItemName(Material.DIRT, 1, langConfig.getString("tile.dirt.coarse.name", "Coarse Dirt"))); + itemNames.add(new ItemName(Material.DIRT, 2, langConfig.getString("tile.dirt.podzol.name", "Podzol"))); + itemNames.add(new ItemName(Material.COBBLESTONE, langConfig.getString("tile.stonebrick.name", "Cobblestone"))); + itemNames.add(new ItemName(Material.WOOD, langConfig.getString("tile.wood.oak.name", "Oak Wood Planks"))); + itemNames.add(new ItemName(Material.WOOD, 1, langConfig.getString("tile.wood.spruce.name", "Spruce Wood Planks"))); + itemNames.add(new ItemName(Material.WOOD, 2, langConfig.getString("tile.wood.birch.name", "Birch Wood Planks"))); + itemNames.add(new ItemName(Material.WOOD, 3, langConfig.getString("tile.wood.jungle.name", "Jungle Wood Planks"))); + itemNames.add(new ItemName(Material.WOOD, 4, langConfig.getString("tile.wood.acacia.name", "Acacia Wood Planks"))); + itemNames.add(new ItemName(Material.WOOD, 5, langConfig.getString("tile.wood.big_oak.name", "Dark Oak Wood Planks"))); + itemNames.add(new ItemName(Material.SAPLING, langConfig.getString("tile.sapling.oak.name", "Oak Sapling"))); + itemNames.add(new ItemName(Material.SAPLING, 1, langConfig.getString("tile.sapling.spruce.name", "Spruce Sapling"))); + itemNames.add(new ItemName(Material.SAPLING, 2, langConfig.getString("tile.sapling.birch.name", "Birch Sapling"))); + itemNames.add(new ItemName(Material.SAPLING, 3, langConfig.getString("tile.sapling.jungle.name", "Jungle Sapling"))); + itemNames.add(new ItemName(Material.SAPLING, 4, langConfig.getString("tile.sapling.acacia.name", "Acacia Sapling"))); + itemNames.add(new ItemName(Material.SAPLING, 5, langConfig.getString("tile.sapling.big_oak.name", "Dark Oak Sapling"))); + itemNames.add(new ItemName(Material.BEDROCK, langConfig.getString("tile.bedrock.name", "Bedrock"))); + itemNames.add(new ItemName(Material.WATER, langConfig.getString("tile.water.name", "Water"))); + itemNames.add(new ItemName(Material.LAVA, langConfig.getString("tile.lava.name", "Lava"))); + itemNames.add(new ItemName(Material.SAND, langConfig.getString("tile.sand.default.name", "Sand"))); + itemNames.add(new ItemName(Material.SAND, 1, langConfig.getString("tile.sand.red.name", "Red Sand"))); + itemNames.add(new ItemName(Material.GRAVEL, langConfig.getString("tile.gravel.name", "Gravel"))); + itemNames.add(new ItemName(Material.GOLD_ORE, langConfig.getString("tile.oreGold.name", "Gold Ore"))); + itemNames.add(new ItemName(Material.IRON_ORE, langConfig.getString("tile.oreIron.name", "Iron Ore"))); + itemNames.add(new ItemName(Material.COAL_ORE, langConfig.getString("tile.oreCoal.name", "Coal Ore"))); + itemNames.add(new ItemName(Material.LOG, langConfig.getString("tile.log.oak.name", "Oak Wood"))); + itemNames.add(new ItemName(Material.LOG, 1, langConfig.getString("tile.log.spruce.name", "Spruce Wood"))); + itemNames.add(new ItemName(Material.LOG, 2, langConfig.getString("tile.log.birch.name", "Birch Wood"))); + itemNames.add(new ItemName(Material.LOG, 3, langConfig.getString("tile.log.jungle.name", "Jungle Wood"))); + itemNames.add(new ItemName(Material.LEAVES, langConfig.getString("tile.leaves.oak.name", "Oak Leaves"))); + itemNames.add(new ItemName(Material.LEAVES, 1, langConfig.getString("tile.leaves.spruce.name", "Spruce Leaves"))); + itemNames.add(new ItemName(Material.LEAVES, 2, langConfig.getString("tile.leaves.birch.name", "Birch Leaves"))); + itemNames.add(new ItemName(Material.LEAVES, 3, langConfig.getString("tile.leaves.jungle.name", "Jungle Leaves"))); + itemNames.add(new ItemName(Material.SPONGE, langConfig.getString("tile.sponge.dry.name", "Sponge"))); + itemNames.add(new ItemName(Material.SPONGE, 1, langConfig.getString("tile.sponge.wet.name", "Wet Sponge"))); + itemNames.add(new ItemName(Material.GLASS, langConfig.getString("tile.glass.name", "Glass"))); + itemNames.add(new ItemName(Material.LAPIS_ORE, langConfig.getString("tile.oreLapis.name", "Lapis Lazuli Ore"))); + itemNames.add(new ItemName(Material.LAPIS_BLOCK, langConfig.getString("tile.blockLapis.name", "Lapis Lazuli Block"))); + itemNames.add(new ItemName(Material.DISPENSER, langConfig.getString("tile.dispenser.name", "Dispenser"))); + itemNames.add(new ItemName(Material.SANDSTONE, langConfig.getString("tile.sandstone.default.name", "Sandstone"))); + itemNames.add(new ItemName(Material.SANDSTONE, 1, langConfig.getString("tile.sandstone.chiseled.name", "Chiseled Sandstone"))); + itemNames.add(new ItemName(Material.SANDSTONE, 2, langConfig.getString("tile.sandstone.smooth.name", "Smooth Sandstone"))); + itemNames.add(new ItemName(Material.NOTE_BLOCK, langConfig.getString("tile.musicBlock.name", "Note Block"))); + itemNames.add(new ItemName(Material.BED, langConfig.getString("tile.bed.name", "Bed"))); + itemNames.add(new ItemName(Material.POWERED_RAIL, langConfig.getString("tile.goldenRail.name", "Powered Rail"))); + itemNames.add(new ItemName(Material.DETECTOR_RAIL, langConfig.getString("tile.detectorRail.name", "Detector Rail"))); + itemNames.add(new ItemName(Material.PISTON_STICKY_BASE, langConfig.getString("tile.pistonStickyBase.name", "Sticky Piston"))); + itemNames.add(new ItemName(Material.WEB, langConfig.getString("tile.web.name", "Web"))); + itemNames.add(new ItemName(Material.LONG_GRASS, langConfig.getString("tile.tallgrass.shrub.name", "Shrub"))); + itemNames.add(new ItemName(Material.LONG_GRASS, 1, langConfig.getString("tile.tallgrass.grass.name", "Grass"))); + itemNames.add(new ItemName(Material.LONG_GRASS, 2, langConfig.getString("tile.tallgrass.fern.name", "Fern"))); + itemNames.add(new ItemName(Material.DEAD_BUSH, langConfig.getString("tile.deadbush.name", "Dead Bush"))); + itemNames.add(new ItemName(Material.PISTON_BASE, langConfig.getString("tile.pistonBase.name", "Piston"))); + itemNames.add(new ItemName(Material.WOOL, langConfig.getString("tile.cloth.white.name", "Wool"))); + itemNames.add(new ItemName(Material.WOOL, 1, langConfig.getString("tile.cloth.orange.name", "Orange Wool"))); + itemNames.add(new ItemName(Material.WOOL, 2, langConfig.getString("tile.cloth.magenta.name", "Magenta Wool"))); + itemNames.add(new ItemName(Material.WOOL, 3, langConfig.getString("tile.cloth.lightBlue.name", "Light Blue Wool"))); + itemNames.add(new ItemName(Material.WOOL, 4, langConfig.getString("tile.cloth.yellow.name", "Yellow Wool"))); + itemNames.add(new ItemName(Material.WOOL, 5, langConfig.getString("tile.cloth.lime.name", "Lime Wool"))); + itemNames.add(new ItemName(Material.WOOL, 6, langConfig.getString("tile.cloth.pink.name", "Pink Wool"))); + itemNames.add(new ItemName(Material.WOOL, 7, langConfig.getString("tile.cloth.gray.name", "Gray Wool"))); + itemNames.add(new ItemName(Material.WOOL, 8, langConfig.getString("tile.cloth.silver.name", "Light Gray Wool"))); + itemNames.add(new ItemName(Material.WOOL, 9, langConfig.getString("tile.cloth.cyan.name", "Cyan Wool"))); + itemNames.add(new ItemName(Material.WOOL, 10, langConfig.getString("tile.cloth.purple.name", "Purple Wool"))); + itemNames.add(new ItemName(Material.WOOL, 11, langConfig.getString("tile.cloth.blue.name", "Blue Wool"))); + itemNames.add(new ItemName(Material.WOOL, 12, langConfig.getString("tile.cloth.brown.name", "Brown Wool"))); + itemNames.add(new ItemName(Material.WOOL, 13, langConfig.getString("tile.cloth.green.name", "Green Wool"))); + itemNames.add(new ItemName(Material.WOOL, 14, langConfig.getString("tile.cloth.red.name", "Red Wool"))); + itemNames.add(new ItemName(Material.WOOL, 15, langConfig.getString("tile.cloth.black.name", "Black Wool"))); + itemNames.add(new ItemName(Material.YELLOW_FLOWER, langConfig.getString("tile.flower1.dandelion.name", "Dandelion"))); + itemNames.add(new ItemName(Material.RED_ROSE, langConfig.getString("tile.flower2.poppy.name", "Poppy"))); + itemNames.add(new ItemName(Material.RED_ROSE, 1, langConfig.getString("tile.flower2.blueOrchid.name", "Blue Orchid"))); + itemNames.add(new ItemName(Material.RED_ROSE, 2, langConfig.getString("tile.flower2.allium.name", "Allium"))); + itemNames.add(new ItemName(Material.RED_ROSE, 3, langConfig.getString("tile.flower2.houstonia.name", "Azure Bluet"))); + itemNames.add(new ItemName(Material.RED_ROSE, 4, langConfig.getString("tile.flower2.tulipRed.name", "Red Tulip"))); + itemNames.add(new ItemName(Material.RED_ROSE, 5, langConfig.getString("tile.flower2.tulipOrange.name", "Orange Tulip"))); + itemNames.add(new ItemName(Material.RED_ROSE, 6, langConfig.getString("tile.flower2.tulipWhite.name", "White Tulip"))); + itemNames.add(new ItemName(Material.RED_ROSE, 7, langConfig.getString("tile.flower2.tulipPink.name", "Pink Tulip"))); + itemNames.add(new ItemName(Material.RED_ROSE, 8, langConfig.getString("tile.flower2.oxeyeDaisy.name", "Oxeye Daisy"))); + itemNames.add(new ItemName(Material.BROWN_MUSHROOM, langConfig.getString("tile.mushroom.name", "Mushroom"))); + itemNames.add(new ItemName(Material.RED_MUSHROOM, langConfig.getString("tile.mushroom.name", "Mushroom"))); + itemNames.add(new ItemName(Material.GOLD_BLOCK, langConfig.getString("tile.blockGold.name", "Block of Gold"))); + itemNames.add(new ItemName(Material.IRON_BLOCK, langConfig.getString("tile.blockIron.name", "Block of Iron"))); + itemNames.add(new ItemName(Material.STEP, langConfig.getString("tile.stoneSlab.stone.name", "Stone Slab"))); + itemNames.add(new ItemName(Material.STEP, 1, langConfig.getString("tile.stoneSlab.sand.name", "Sandstone Slab"))); + itemNames.add(new ItemName(Material.STEP, 2, langConfig.getString("tile.stoneSlab.wood.name", "Wooden Slab"))); + itemNames.add(new ItemName(Material.STEP, 3, langConfig.getString("tile.stoneSlab.cobble.name", "Cobblestone Slab"))); + itemNames.add(new ItemName(Material.STEP, 4, langConfig.getString("tile.stoneSlab.brick.name", "Brick Slab"))); + itemNames.add(new ItemName(Material.STEP, 5, langConfig.getString("tile.stoneSlab.smoothStoneBrick.name", "Stone Brick Slab"))); + itemNames.add(new ItemName(Material.STEP, 6, langConfig.getString("tile.stoneSlab.netherBrick.name", "Nether Brick Slab"))); + itemNames.add(new ItemName(Material.STEP, 7, langConfig.getString("tile.stoneSlab.quartz.name", "Quartz Slab"))); + itemNames.add(new ItemName(Material.BRICK, langConfig.getString("tile.brick.name", "Brick"))); + itemNames.add(new ItemName(Material.TNT, langConfig.getString("tile.tnt.name", "TNT"))); + itemNames.add(new ItemName(Material.BOOKSHELF, langConfig.getString("tile.bookshelf.name", "Bookshelf"))); + itemNames.add(new ItemName(Material.MOSSY_COBBLESTONE, langConfig.getString("tile.stoneMoss.name", "Moss Stone"))); + itemNames.add(new ItemName(Material.OBSIDIAN, langConfig.getString("tile.obsidian.name", "Obsidian"))); + itemNames.add(new ItemName(Material.TORCH, langConfig.getString("tile.torch.name", "Torch"))); + itemNames.add(new ItemName(Material.FIRE, langConfig.getString("tile.fire.name", "Fire"))); + itemNames.add(new ItemName(Material.MOB_SPAWNER, langConfig.getString("tile.mobSpawner.name", "Mob Spawner"))); + itemNames.add(new ItemName(Material.WOOD_STAIRS, langConfig.getString("tile.stairsWood.name", "Oak Wood Stairs"))); + itemNames.add(new ItemName(Material.CHEST, langConfig.getString("tile.chest.name", "Chest"))); + itemNames.add(new ItemName(Material.DIAMOND_ORE, langConfig.getString("tile.oreDiamond.name", "Diamond Ore"))); + itemNames.add(new ItemName(Material.DIAMOND_BLOCK, langConfig.getString("tile.blockDiamond.name", "Block of Diamond"))); + itemNames.add(new ItemName(Material.WORKBENCH, langConfig.getString("tile.workbench.name", "Crafting Table"))); + itemNames.add(new ItemName(Material.SOIL, langConfig.getString("tile.farmland.name", "Farmland"))); + itemNames.add(new ItemName(Material.FURNACE, langConfig.getString("tile.furnace.name", "Furnace"))); + itemNames.add(new ItemName(Material.LADDER, langConfig.getString("tile.ladder.name", "Ladder"))); + itemNames.add(new ItemName(Material.RAILS, langConfig.getString("tile.rail.name", "Rail"))); + itemNames.add(new ItemName(Material.COBBLESTONE_STAIRS, langConfig.getString("tile.stairsStone.name", "Stone Stairs"))); + itemNames.add(new ItemName(Material.LEVER, langConfig.getString("tile.lever.name", "Lever"))); + itemNames.add(new ItemName(Material.STONE_PLATE, langConfig.getString("tile.pressurePlateStone.name", "Stone Pressure Plate"))); + itemNames.add(new ItemName(Material.WOOD_PLATE, langConfig.getString("tile.pressurePlateWood.name", "Wooden Pressure Plate"))); + itemNames.add(new ItemName(Material.REDSTONE_ORE, langConfig.getString("tile.oreRedstone.name", "Redstone Ore"))); + itemNames.add(new ItemName(Material.REDSTONE_TORCH_ON, langConfig.getString("tile.notGate.name", "Redstone Torch"))); + itemNames.add(new ItemName(Material.SNOW, langConfig.getString("tile.snow.name", "Snow"))); + itemNames.add(new ItemName(Material.ICE, langConfig.getString("tile.ice.name", "Ice"))); + itemNames.add(new ItemName(Material.SNOW_BLOCK, langConfig.getString("tile.snow.name", "Snow"))); + itemNames.add(new ItemName(Material.CACTUS, langConfig.getString("tile.cactus.name", "Cactus"))); + itemNames.add(new ItemName(Material.CLAY, langConfig.getString("tile.clay.name", "Clay"))); + itemNames.add(new ItemName(Material.JUKEBOX, langConfig.getString("tile.jukebox.name", "Jukebox"))); + itemNames.add(new ItemName(Material.FENCE, langConfig.getString("tile.fence.name", "Oak Fence"))); + itemNames.add(new ItemName(Material.PUMPKIN, langConfig.getString("tile.pumpkin.name", "Pumpkin"))); + itemNames.add(new ItemName(Material.NETHERRACK, langConfig.getString("tile.hellrock.name", "Netherrack"))); + itemNames.add(new ItemName(Material.SOUL_SAND, langConfig.getString("tile.hellsand.name", "Soul Sand"))); + itemNames.add(new ItemName(Material.GLOWSTONE, langConfig.getString("tile.lightgem.name", "Glowstone"))); + itemNames.add(new ItemName(Material.PORTAL, langConfig.getString("tile.portal.name", "Portal"))); + itemNames.add(new ItemName(Material.JACK_O_LANTERN, langConfig.getString("tile.litpumpkin.name", "Jack o'Lantern"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, langConfig.getString("tile.stainedGlass.white.name", "White Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 1, langConfig.getString("tile.stainedGlass.orange.name", "Orange Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 2, langConfig.getString("tile.stainedGlass.magenta.name", "Magenta Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 3, langConfig.getString("tile.stainedGlass.lightBlue.name", "Light Blue Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 4, langConfig.getString("tile.stainedGlass.yellow.name", "Yellow Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 5, langConfig.getString("tile.stainedGlass.lime.name", "Lime Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 6, langConfig.getString("tile.stainedGlass.pink.name", "Pink Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 7, langConfig.getString("tile.stainedGlass.gray.name", "Gray Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 8, langConfig.getString("tile.stainedGlass.silver.name", "Light Gray Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 9, langConfig.getString("tile.stainedGlass.cyan.name", "Cyan Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 10, langConfig.getString("tile.stainedGlass.purple.name", "Purple Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 11, langConfig.getString("tile.stainedGlass.blue.name", "Blue Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 12, langConfig.getString("tile.stainedGlass.brown.name", "Brown Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 13, langConfig.getString("tile.stainedGlass.green.name", "Green Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 14, langConfig.getString("tile.stainedGlass.red.name", "Red Stained Glass"))); + itemNames.add(new ItemName(Material.STAINED_GLASS, 15, langConfig.getString("tile.stainedGlass.black.name", "Black Stained Glass"))); + itemNames.add(new ItemName(Material.TRAP_DOOR, langConfig.getString("tile.trapdoor.name", "Wooden Trapdoor"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, langConfig.getString("tile.monsterStoneEgg.stone.name", "Stone Monster Egg"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, 1, langConfig.getString("tile.monsterStoneEgg.cobble.name", "Cobblestone Monster Egg"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, 2, langConfig.getString("tile.monsterStoneEgg.brick.name", "Stone Brick Monster Egg"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, 3, langConfig.getString("tile.monsterStoneEgg.mossybrick.name", "Mossy Stone Brick Monster Egg"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, 4, langConfig.getString("tile.monsterStoneEgg.crackedbrick.name", "Cracked Stone Brick Monster Egg"))); + itemNames.add(new ItemName(Material.MONSTER_EGGS, 5, langConfig.getString("tile.monsterStoneEgg.chiseledbrick.name", "Chiseled Stone Brick Monster Egg"))); + itemNames.add(new ItemName(Material.SMOOTH_BRICK, langConfig.getString("tile.stonebricksmooth.default.name", "Stone Bricks"))); + itemNames.add(new ItemName(Material.SMOOTH_BRICK, 1, langConfig.getString("tile.stonebricksmooth.mossy.name", "Mossy Stone Bricks"))); + itemNames.add(new ItemName(Material.SMOOTH_BRICK, 2, langConfig.getString("tile.stonebricksmooth.cracked.name", "Cracked Stone Bricks"))); + itemNames.add(new ItemName(Material.SMOOTH_BRICK, 3, langConfig.getString("tile.stonebricksmooth.chiseled.name", "Chiseled Stone Bricks"))); + itemNames.add(new ItemName(Material.HUGE_MUSHROOM_1, langConfig.getString("tile.mushroom.name", "Mushroom"))); + itemNames.add(new ItemName(Material.HUGE_MUSHROOM_2, langConfig.getString("tile.mushroom.name", "Mushroom"))); + itemNames.add(new ItemName(Material.IRON_FENCE, langConfig.getString("tile.fenceIron.name", "Iron Bars"))); + itemNames.add(new ItemName(Material.THIN_GLASS, langConfig.getString("tile.thinGlass.name", "Glass Pane"))); + itemNames.add(new ItemName(Material.MELON_BLOCK, langConfig.getString("tile.melon.name", "Melon"))); + itemNames.add(new ItemName(Material.VINE, langConfig.getString("tile.vine.name", "Vines"))); + itemNames.add(new ItemName(Material.FENCE_GATE, langConfig.getString("tile.fenceGate.name", "Oak Fence Gate"))); + itemNames.add(new ItemName(Material.BRICK_STAIRS, langConfig.getString("tile.stairsBrick.name", "Brick Stairs"))); + itemNames.add(new ItemName(Material.SMOOTH_STAIRS, langConfig.getString("tile.stairsStoneBrickSmooth.name", "Stone Brick Stairs"))); + itemNames.add(new ItemName(Material.MYCEL, langConfig.getString("tile.mycel.name", "Mycelium"))); + itemNames.add(new ItemName(Material.WATER_LILY, langConfig.getString("tile.waterlily.name", "Lily Pad"))); + itemNames.add(new ItemName(Material.NETHER_BRICK, langConfig.getString("tile.netherBrick.name", "Nether Brick"))); + itemNames.add(new ItemName(Material.NETHER_FENCE, langConfig.getString("tile.netherFence.name", "Nether Brick Fence"))); + itemNames.add(new ItemName(Material.NETHER_BRICK_STAIRS, langConfig.getString("tile.stairsNetherBrick.name", "Nether Brick Stairs"))); + itemNames.add(new ItemName(Material.ENCHANTMENT_TABLE, langConfig.getString("tile.enchantmentTable.name", "Enchantment Table"))); + itemNames.add(new ItemName(Material.ENDER_PORTAL_FRAME, langConfig.getString("tile.endPortalFrame.name", "End Portal Frame"))); + itemNames.add(new ItemName(Material.ENDER_STONE, langConfig.getString("tile.whiteStone.name", "End Stone"))); + itemNames.add(new ItemName(Material.DRAGON_EGG, langConfig.getString("tile.dragonEgg.name", "Dragon Egg"))); + itemNames.add(new ItemName(Material.REDSTONE_LAMP_OFF, langConfig.getString("tile.redstoneLight.name", "Redstone Lamp"))); + itemNames.add(new ItemName(Material.WOOD_STEP, langConfig.getString("tile.woodSlab.oak.name", "Oak Wood Slab"))); + itemNames.add(new ItemName(Material.WOOD_STEP, 1, langConfig.getString("tile.woodSlab.spruce.name", "Spruce Wood Slab"))); + itemNames.add(new ItemName(Material.WOOD_STEP, 2, langConfig.getString("tile.woodSlab.birch.name", "Birch Wood Slab"))); + itemNames.add(new ItemName(Material.WOOD_STEP, 3, langConfig.getString("tile.woodSlab.jungle.name", "Jungle Wood Slab"))); + itemNames.add(new ItemName(Material.WOOD_STEP, 4, langConfig.getString("tile.woodSlab.acacia.name", "Acacia Wood Slab"))); + itemNames.add(new ItemName(Material.WOOD_STEP, 5, langConfig.getString("tile.woodSlab.big_oak.name", "Dark Oak Wood Slab"))); + itemNames.add(new ItemName(Material.SANDSTONE_STAIRS, langConfig.getString("tile.stairsSandStone.name", "Mycelium"))); + itemNames.add(new ItemName(Material.EMERALD_ORE, langConfig.getString("tile.oreEmerald.name", "Emerald Ore"))); + itemNames.add(new ItemName(Material.ENDER_CHEST, langConfig.getString("tile.enderChest.name", "Ender Chest"))); + itemNames.add(new ItemName(Material.TRIPWIRE_HOOK, langConfig.getString("tile.tripWireSource.name", "Tripwire Hook"))); + itemNames.add(new ItemName(Material.EMERALD_BLOCK, langConfig.getString("tile.blockEmerald.name", "Block of Emerald"))); + itemNames.add(new ItemName(Material.SPRUCE_WOOD_STAIRS, langConfig.getString("tile.stairsWoodSpruce.name", "Spruce Wood Stairs"))); + itemNames.add(new ItemName(Material.BIRCH_WOOD_STAIRS, langConfig.getString("tile.stairsWoodBirch.name", "Birch Wood Stairs"))); + itemNames.add(new ItemName(Material.JUNGLE_WOOD_STAIRS, langConfig.getString("tile.stairsWoodJungle.name", "Jungle Wood Stairs"))); + itemNames.add(new ItemName(Material.COMMAND, langConfig.getString("tile.commandBlock.name", "Command Block"))); + itemNames.add(new ItemName(Material.BEACON, langConfig.getString("tile.beacon.name", "Beacon"))); + itemNames.add(new ItemName(Material.COBBLE_WALL, langConfig.getString("tile.cobbleWall.normal.name", "Cobblestone Wall"))); + itemNames.add(new ItemName(Material.COBBLE_WALL, 1, langConfig.getString("tile.cobbleWall.mossy.name", "Mossy Cobblestone Wall"))); + itemNames.add(new ItemName(Material.WOOD_BUTTON, langConfig.getString("tile.button.name", "Button"))); + itemNames.add(new ItemName(Material.ANVIL, langConfig.getString("tile.anvil.intact.name", "Anvil"))); + itemNames.add(new ItemName(Material.ANVIL, 1, langConfig.getString("tile.anvil.slightlyDamaged.name", "Slightly Damaged Anvil"))); + itemNames.add(new ItemName(Material.ANVIL, 2, langConfig.getString("tile.anvil.veryDamaged.name", "Very Damaged Anvil"))); + itemNames.add(new ItemName(Material.TRAPPED_CHEST, langConfig.getString("tile.chestTrap.name", "Trapped Chest"))); + itemNames.add(new ItemName(Material.GOLD_PLATE, langConfig.getString("tile.weightedPlate_light.name", "Weighted Pressure Plate (Light)"))); + itemNames.add(new ItemName(Material.IRON_PLATE, langConfig.getString("tile.weightedPlate_heavy.name", "Weighted Pressure Plate (Heavy)"))); + itemNames.add(new ItemName(Material.DAYLIGHT_DETECTOR, langConfig.getString("tile.daylightDetector.name", "Daylight Sensor"))); + itemNames.add(new ItemName(Material.REDSTONE_BLOCK, langConfig.getString("tile.blockRedstone.name", "Block of Redstone"))); + itemNames.add(new ItemName(Material.QUARTZ_ORE, langConfig.getString("tile.netherquartz.name", "Nether Quartz Ore"))); + itemNames.add(new ItemName(Material.HOPPER, langConfig.getString("tile.hopper.name", "Hopper"))); + itemNames.add(new ItemName(Material.QUARTZ_BLOCK, langConfig.getString("tile.quartzBlock.default.name", "Block of Quartz"))); + itemNames.add(new ItemName(Material.QUARTZ_BLOCK, langConfig.getString("tile.quartzBlock.chiseled.name", "Chiseled Quartz Block"))); + itemNames.add(new ItemName(Material.QUARTZ_BLOCK, langConfig.getString("tile.quartzBlock.lines.name", "Pillar Quartz Block"))); + itemNames.add(new ItemName(Material.QUARTZ_STAIRS, langConfig.getString("tile.stairsQuartz.name", "Quartz Stairs"))); + itemNames.add(new ItemName(Material.ACTIVATOR_RAIL, langConfig.getString("tile.activatorRail.name", "Activator Rail"))); + itemNames.add(new ItemName(Material.DROPPER, langConfig.getString("tile.dropper.name", "Dropper"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, langConfig.getString("tile.clayHardenedStained.white.name", "White Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 1, langConfig.getString("tile.clayHardenedStained.orange.name", "Orange Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 2, langConfig.getString("tile.clayHardenedStained.magenta.name", "Magenta Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 3, langConfig.getString("tile.clayHardenedStained.lightBlue.name", "Light Blue Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 4, langConfig.getString("tile.clayHardenedStained.yellow.name", "Yellow Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 5, langConfig.getString("tile.clayHardenedStained.lime.name", "Lime Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 6, langConfig.getString("tile.clayHardenedStained.pink.name", "Pink Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 7, langConfig.getString("tile.clayHardenedStained.gray.name", "Gray Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 8, langConfig.getString("tile.clayHardenedStained.silver.name", "Light Gray Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 9, langConfig.getString("tile.clayHardenedStained.cyan.name", "Cyan Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 10, langConfig.getString("tile.clayHardenedStained.purple.name", "Purple Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 11, langConfig.getString("tile.clayHardenedStained.blue.name", "Blue Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 12, langConfig.getString("tile.clayHardenedStained.brown.name", "Brown Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 13, langConfig.getString("tile.clayHardenedStained.green.name", "Green Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 14, langConfig.getString("tile.clayHardenedStained.red.name", "Red Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_CLAY, 15, langConfig.getString("tile.clayHardenedStained.black.name", "Black Hardened Clay"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, langConfig.getString("tile.thinStainedGlass.white.name", "White Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 1, langConfig.getString("tile.thinStainedGlass.orange.name", "Orange Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 2, langConfig.getString("tile.thinStainedGlass.magenta.name", "Magenta Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 3, langConfig.getString("tile.thinStainedGlass.lightBlue.name", "Light Blue Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 4, langConfig.getString("tile.thinStainedGlass.yellow.name", "Yellow Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 5, langConfig.getString("tile.thinStainedGlass.lime.name", "Lime Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 6, langConfig.getString("tile.thinStainedGlass.pink.name", "Pink Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 7, langConfig.getString("tile.thinStainedGlass.gray.name", "Gray Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 8, langConfig.getString("tile.thinStainedGlass.silver.name", "Light Gray Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 9, langConfig.getString("tile.thinStainedGlass.cyan.name", "Cyan Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 10, langConfig.getString("tile.thinStainedGlass.purple.name", "Purple Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 11, langConfig.getString("tile.thinStainedGlass.blue.name", "Blue Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 12, langConfig.getString("tile.thinStainedGlass.brown.name", "Brown Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 13, langConfig.getString("tile.thinStainedGlass.green.name", "Green Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 14, langConfig.getString("tile.thinStainedGlass.red.name", "Red Stained Glass Pane"))); + itemNames.add(new ItemName(Material.STAINED_GLASS_PANE, 15, langConfig.getString("tile.thinStainedGlass.black.name", "Black Stained Glass Pane"))); + itemNames.add(new ItemName(Material.LEAVES_2, langConfig.getString("tile.leaves.acacia.name", "Acacia Leaves"))); + itemNames.add(new ItemName(Material.LEAVES_2, 1, langConfig.getString("tile.leaves.big_oak.name", "Dark Oak Leaves"))); + itemNames.add(new ItemName(Material.LOG_2, langConfig.getString("tile.log.acacia.name", "Acacia Wood"))); + itemNames.add(new ItemName(Material.LOG_2, 1, langConfig.getString("tile.log.big_oak.name", "Dark Oak Wood"))); + itemNames.add(new ItemName(Material.ACACIA_STAIRS, langConfig.getString("tile.stairsWoodAcacia.name", "Acacia Wood Stairs"))); + itemNames.add(new ItemName(Material.DARK_OAK_STAIRS, langConfig.getString("tile.stairsWoodDarkOak.name", "Dark Oak Wood Stairs"))); + itemNames.add(new ItemName(Material.SLIME_BLOCK, langConfig.getString("tile.slime.name", "Slime Block"))); + itemNames.add(new ItemName(Material.BARRIER, langConfig.getString("tile.barrier.name", "Barrier"))); + itemNames.add(new ItemName(Material.IRON_TRAPDOOR, langConfig.getString("tile.ironTrapdoor.name", "Iron Trapdoor"))); + itemNames.add(new ItemName(Material.PRISMARINE, langConfig.getString("tile.prismarine.rough.name", "Prismarine"))); + itemNames.add(new ItemName(Material.PRISMARINE, 1, langConfig.getString("tile.prismarine.bricks.name", "Prismarine Bricks"))); + itemNames.add(new ItemName(Material.PRISMARINE, 2, langConfig.getString("tile.prismarine.dark.name", "Dark Prismarine"))); + itemNames.add(new ItemName(Material.SEA_LANTERN, langConfig.getString("tile.seaLantern.name", "Sea Lantern"))); + itemNames.add(new ItemName(Material.HAY_BLOCK, langConfig.getString("tile.hayBlock.name", "Hay Bale"))); + itemNames.add(new ItemName(Material.CARPET, langConfig.getString("tile.woolCarpet.white.name", "White Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 1, langConfig.getString("tile.woolCarpet.orange.name", "Orange Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 2, langConfig.getString("tile.woolCarpet.magenta.name", "Magenta Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 3, langConfig.getString("tile.woolCarpet.lightBlue.name", "Light Blue Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 4, langConfig.getString("tile.woolCarpet.yellow.name", "Yellow Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 5, langConfig.getString("tile.woolCarpet.lime.name", "Lime Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 6, langConfig.getString("tile.woolCarpet.pink.name", "Pink Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 7, langConfig.getString("tile.woolCarpet.gray.name", "Gray Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 8, langConfig.getString("tile.woolCarpet.silver.name", "Light Gray Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 9, langConfig.getString("tile.woolCarpet.cyan.name", "Cyan Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 10, langConfig.getString("tile.woolCarpet.purple.name", "Purple Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 11, langConfig.getString("tile.woolCarpet.blue.name", "Blue Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 12, langConfig.getString("tile.woolCarpet.brown.name", "Brown Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 13, langConfig.getString("tile.woolCarpet.green.name", "Green Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 14, langConfig.getString("tile.woolCarpet.red.name", "Red Carpet"))); + itemNames.add(new ItemName(Material.CARPET, 15, langConfig.getString("tile.woolCarpet.black.name", "Black Carpet"))); + itemNames.add(new ItemName(Material.HARD_CLAY, langConfig.getString("tile.clayHardened.name", "Hardened Clay"))); + itemNames.add(new ItemName(Material.COAL_BLOCK, langConfig.getString("tile.blockCoal.name", "Block of Coal"))); + itemNames.add(new ItemName(Material.PACKED_ICE, langConfig.getString("tile.icePacked.name", "Packed Ice"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, langConfig.getString("tile.doublePlant.sunflower.name", "Sunflower"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, 1, langConfig.getString("tile.doublePlant.syringa.name", "Lilac"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, 2, langConfig.getString("tile.doublePlant.grass.name", "Double Tallgrass"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, 3, langConfig.getString("tile.doublePlant.fern.name", "Large Fern"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, 4, langConfig.getString("tile.doublePlant.rose.name", "Rose Bush"))); + itemNames.add(new ItemName(Material.DOUBLE_PLANT, 5, langConfig.getString("tile.doublePlant.paeonia.name", "Peony"))); + itemNames.add(new ItemName(Material.RED_SANDSTONE, langConfig.getString("tile.redSandStone.default.name", "Red Sandstone"))); + itemNames.add(new ItemName(Material.RED_SANDSTONE, 1, langConfig.getString("tile.redSandStone.chiseled.name", "Chiseled Red Sandstone"))); + itemNames.add(new ItemName(Material.RED_SANDSTONE, 2, langConfig.getString("tile.redSandStone.smooth.name", "Smooth Red Sandstone"))); + itemNames.add(new ItemName(Material.RED_SANDSTONE_STAIRS, langConfig.getString("tile.stairsRedSandStone.name", "Red Sandstone Stairs"))); + itemNames.add(new ItemName(Material.STONE_SLAB2, langConfig.getString("tile.stoneSlab2.red_sandstone.name", "Red Sandstone Slab"))); + itemNames.add(new ItemName(Material.SPRUCE_FENCE_GATE, langConfig.getString("tile.spruceFenceGate.name", "Spruce Fence Gate"))); + itemNames.add(new ItemName(Material.BIRCH_FENCE_GATE, langConfig.getString("tile.birchFenceGate.name", "Birch Fence Gate"))); + itemNames.add(new ItemName(Material.JUNGLE_FENCE_GATE, langConfig.getString("tile.jungleFenceGate.name", "Jungle Fence Gate"))); + itemNames.add(new ItemName(Material.DARK_OAK_FENCE_GATE, langConfig.getString("tile.darkOakFenceGate.name", "Dark Oak Fence Gate"))); + itemNames.add(new ItemName(Material.ACACIA_FENCE_GATE, langConfig.getString("tile.acaciaFenceGate.name", "Acacia Fence Gate"))); + itemNames.add(new ItemName(Material.SPRUCE_FENCE, langConfig.getString("tile.spruceFence.name", "Spruce Fence"))); + itemNames.add(new ItemName(Material.BIRCH_FENCE, langConfig.getString("tile.birchFence.name", "Birch Fence"))); + itemNames.add(new ItemName(Material.JUNGLE_FENCE, langConfig.getString("tile.jungleFence.name", "Jungle Fence"))); + itemNames.add(new ItemName(Material.DARK_OAK_FENCE, langConfig.getString("tile.darkOakFence.name", "Dark Oak Fence"))); + itemNames.add(new ItemName(Material.ACACIA_FENCE, langConfig.getString("tile.acaciaFence.name", "Acacia Fence"))); + + if (Utils.getMajorVersion() >= 9) { + itemNames.add(new ItemName(Material.END_ROD, langConfig.getString("tile.endRod.name", "End Rod"))); + itemNames.add(new ItemName(Material.CHORUS_PLANT, langConfig.getString("tile.chorusPlant.name", "Chorus Plant"))); + itemNames.add(new ItemName(Material.CHORUS_FLOWER, langConfig.getString("tile.chorusFlower.name", "Chorus Flower"))); + itemNames.add(new ItemName(Material.PURPUR_BLOCK, langConfig.getString("tile.purpurBlock.name", "Purpur Block"))); + itemNames.add(new ItemName(Material.PURPUR_PILLAR, langConfig.getString("tile.purpurPillar.name", "Purpur Pillar"))); + itemNames.add(new ItemName(Material.PURPUR_STAIRS, langConfig.getString("tile.stairsPurpur.name", "Purpur Stairs"))); + itemNames.add(new ItemName(Material.PURPUR_SLAB, langConfig.getString("tile.purpurSlab.name", "Purpur Slab"))); + itemNames.add(new ItemName(Material.END_BRICKS, langConfig.getString("tile.endBricks.name", "End Stone Bricks"))); + itemNames.add(new ItemName(Material.GRASS_PATH, langConfig.getString("tile.grassPath.name", "Grass Path"))); + itemNames.add(new ItemName(Material.COMMAND_REPEATING, langConfig.getString("tile.repeatingCommandBlock.name", "Repeating Command Block"))); + itemNames.add(new ItemName(Material.COMMAND_CHAIN, langConfig.getString("tile.chainCommandBlock.name", "Chain Command Block"))); + itemNames.add(new ItemName(Material.STRUCTURE_BLOCK, langConfig.getString("tile.structureBlock.name", "Structure Block"))); + } + + if (Utils.getMajorVersion() >= 10) { + itemNames.add(new ItemName(Material.MAGMA, langConfig.getString("tile.magma.name", "Magma Block"))); + itemNames.add(new ItemName(Material.NETHER_WART_BLOCK, langConfig.getString("tile.netherWartBlock.name", "Nether Wart Block"))); + itemNames.add(new ItemName(Material.RED_NETHER_BRICK, langConfig.getString("tile.redNetherBrick.name", "Red Nether Brick"))); + itemNames.add(new ItemName(Material.BONE_BLOCK, langConfig.getString("tile.boneBlock.name", "Bone Block"))); + itemNames.add(new ItemName(Material.STRUCTURE_VOID, langConfig.getString("tile.structureVoid.name", "Structure Void"))); + } + + itemNames.add(new ItemName(Material.IRON_SPADE, langConfig.getString("item.shovelIron.name", "Iron Shovel"))); + itemNames.add(new ItemName(Material.IRON_PICKAXE, langConfig.getString("item.pickaxeIron.name", "Iron Pickaxe"))); + itemNames.add(new ItemName(Material.IRON_AXE, langConfig.getString("item.hatchetIron.name", "Iron Axe"))); + itemNames.add(new ItemName(Material.FLINT_AND_STEEL, langConfig.getString("item.flintAndSteel.name", "Flint and Steel"))); + itemNames.add(new ItemName(Material.APPLE, langConfig.getString("item.apple.name", "Apple"))); + itemNames.add(new ItemName(Material.BOW, langConfig.getString("item.bow.name", "Bow"))); + itemNames.add(new ItemName(Material.ARROW, langConfig.getString("item.arrow.name", "Arrow"))); + itemNames.add(new ItemName(Material.COAL, langConfig.getString("item.coal.name", "Coal"))); + itemNames.add(new ItemName(Material.COAL, 1, langConfig.getString("item.charcoal.name", "Charcoal"))); + itemNames.add(new ItemName(Material.DIAMOND, langConfig.getString("item.diamond.name", "Diamond"))); + itemNames.add(new ItemName(Material.IRON_INGOT, langConfig.getString("item.ingotIron.name", "Iron Ingot"))); + itemNames.add(new ItemName(Material.GOLD_INGOT, langConfig.getString("item.ingotGold.name", "Gold Ingot"))); + itemNames.add(new ItemName(Material.IRON_SWORD, langConfig.getString("item.swordIron.name", "Iron Sword"))); + itemNames.add(new ItemName(Material.WOOD_SWORD, langConfig.getString("item.swordWood.name", "Wooden Sword"))); + itemNames.add(new ItemName(Material.WOOD_SPADE, langConfig.getString("item.shovelWood.name", "Wooden Shovel"))); + itemNames.add(new ItemName(Material.WOOD_PICKAXE, langConfig.getString("item.pickaxeWood.name", "Wooden Pickaxe"))); + itemNames.add(new ItemName(Material.WOOD_AXE, langConfig.getString("item.hatchetWood.name", "Wooden Axe"))); + itemNames.add(new ItemName(Material.STONE_SWORD, langConfig.getString("item.swordStone.name", "Stone Sword"))); + itemNames.add(new ItemName(Material.STONE_SPADE, langConfig.getString("item.shovelStone.name", "Stone Shovel"))); + itemNames.add(new ItemName(Material.STONE_PICKAXE, langConfig.getString("item.pickaxeStone.name", "Stone Pickaxe"))); + itemNames.add(new ItemName(Material.STONE_AXE, langConfig.getString("item.hatchetStone.name", "Stone Axe"))); + itemNames.add(new ItemName(Material.DIAMOND_SWORD, langConfig.getString("item.swordDiamond.name", "Diamond Sword"))); + itemNames.add(new ItemName(Material.DIAMOND_SPADE, langConfig.getString("item.shovelDiamond.name", "Diamond Shovel"))); + itemNames.add(new ItemName(Material.DIAMOND_PICKAXE, langConfig.getString("item.pickaxeDiamond.name", "Diamond Pickaxe"))); + itemNames.add(new ItemName(Material.DIAMOND_AXE, langConfig.getString("item.hatchetDiamond.name", "Diamond Axe"))); + itemNames.add(new ItemName(Material.STICK, langConfig.getString("item.stick.name", "Stick"))); + itemNames.add(new ItemName(Material.BOWL, langConfig.getString("item.bowl.name", "Bowl"))); + itemNames.add(new ItemName(Material.MUSHROOM_SOUP, langConfig.getString("item.mushroomStew.name", "Mushroom Stew"))); + itemNames.add(new ItemName(Material.GOLD_SWORD, langConfig.getString("item.swordGold.name", "Golden Sword"))); + itemNames.add(new ItemName(Material.GOLD_SPADE, langConfig.getString("item.shovelGold.name", "Golden Shovel"))); + itemNames.add(new ItemName(Material.GOLD_PICKAXE, langConfig.getString("item.pickaxeGold.name", "Golden Pickaxe"))); + itemNames.add(new ItemName(Material.GOLD_AXE, langConfig.getString("item.hatchetGold.name", "Golden Axe"))); + itemNames.add(new ItemName(Material.STRING, langConfig.getString("item.string.name", "String"))); + itemNames.add(new ItemName(Material.FEATHER, langConfig.getString("item.feather.name", "Feather"))); + itemNames.add(new ItemName(Material.SULPHUR, langConfig.getString("item.sulphur.name", "Gunpowder"))); + itemNames.add(new ItemName(Material.WOOD_HOE, langConfig.getString("item.hoeWood.name", "Wooden Hoe"))); + itemNames.add(new ItemName(Material.STONE_HOE, langConfig.getString("item.hoeStone.name", "Stone Hoe"))); + itemNames.add(new ItemName(Material.IRON_HOE, langConfig.getString("item.hoeIron.name", "Iron Hoe"))); + itemNames.add(new ItemName(Material.DIAMOND_HOE, langConfig.getString("item.hoeDiamond.name", "Diamond Hoe"))); + itemNames.add(new ItemName(Material.GOLD_HOE, langConfig.getString("item.hoeGold.name", "Golden Hoe"))); + itemNames.add(new ItemName(Material.SEEDS, langConfig.getString("item.seeds.name", "Seeds"))); + itemNames.add(new ItemName(Material.WHEAT, langConfig.getString("item.wheat.name", "Wheat"))); + itemNames.add(new ItemName(Material.BREAD, langConfig.getString("item.bread.name", "Bread"))); + itemNames.add(new ItemName(Material.LEATHER_HELMET, langConfig.getString("item.helmetCloth.name", "Leather Cap"))); + itemNames.add(new ItemName(Material.LEATHER_CHESTPLATE, langConfig.getString("item.chestplateCloth.name", "Leather Tunic"))); + itemNames.add(new ItemName(Material.LEATHER_LEGGINGS, langConfig.getString("item.leggingsCloth.name", "Leather Pants"))); + itemNames.add(new ItemName(Material.LEATHER_BOOTS, langConfig.getString("item.bootsCloth.name", "Leather Boots"))); + itemNames.add(new ItemName(Material.CHAINMAIL_HELMET, langConfig.getString("item.helmetChain.name", "Chain Helmet"))); + itemNames.add(new ItemName(Material.CHAINMAIL_CHESTPLATE, langConfig.getString("item.chestplateChain.name", "Chain Chestplate"))); + itemNames.add(new ItemName(Material.CHAINMAIL_LEGGINGS, langConfig.getString("item.leggingsChain.name", "Chain Leggings"))); + itemNames.add(new ItemName(Material.CHAINMAIL_BOOTS, langConfig.getString("item.bootsChain.name", "Chain Boots"))); + itemNames.add(new ItemName(Material.IRON_HELMET, langConfig.getString("item.helmetIron.name", "Iron Helmet"))); + itemNames.add(new ItemName(Material.IRON_CHESTPLATE, langConfig.getString("item.chestplateIron.name", "Iron Chestplate"))); + itemNames.add(new ItemName(Material.IRON_LEGGINGS, langConfig.getString("item.leggingsIron.name", "Iron Leggings"))); + itemNames.add(new ItemName(Material.IRON_BOOTS, langConfig.getString("item.bootsIron.name", "Iron Boots"))); + itemNames.add(new ItemName(Material.DIAMOND_HELMET, langConfig.getString("item.helmetDiamond.name", "Diamond Helmet"))); + itemNames.add(new ItemName(Material.DIAMOND_CHESTPLATE, langConfig.getString("item.chestplateDiamond.name", "Diamond Chestplate"))); + itemNames.add(new ItemName(Material.DIAMOND_LEGGINGS, langConfig.getString("item.leggingsDiamond.name", "Diamond Leggings"))); + itemNames.add(new ItemName(Material.DIAMOND_BOOTS, langConfig.getString("item.bootsDiamond.name", "Diamond Boots"))); + itemNames.add(new ItemName(Material.GOLD_HELMET, langConfig.getString("item.helmetGold.name", "Golden Helmet"))); + itemNames.add(new ItemName(Material.GOLD_CHESTPLATE, langConfig.getString("item.chestplateGold.name", "Golden Chestplate"))); + itemNames.add(new ItemName(Material.GOLD_LEGGINGS, langConfig.getString("item.leggingsGold.name", "Golden Leggings"))); + itemNames.add(new ItemName(Material.GOLD_BOOTS, langConfig.getString("item.bootsGold.name", "Golden Boots"))); + itemNames.add(new ItemName(Material.FLINT, langConfig.getString("item.flint.name", "Flint"))); + itemNames.add(new ItemName(Material.PORK, langConfig.getString("item.porkchopRaw.name", "Raw Porkchop"))); + itemNames.add(new ItemName(Material.GRILLED_PORK, langConfig.getString("item.porkchopCooked.name", "Cooked Porkchop"))); + itemNames.add(new ItemName(Material.PAINTING, langConfig.getString("item.painting.name", "Painting"))); + itemNames.add(new ItemName(Material.GOLDEN_APPLE, langConfig.getString("item.appleGold.name", "Golden Apple"))); + itemNames.add(new ItemName(Material.GOLDEN_APPLE, 1, langConfig.getString("item.appleGold.name", "Golden Apple"))); + itemNames.add(new ItemName(Material.SIGN, langConfig.getString("item.sign.name", "Sign"))); + itemNames.add(new ItemName(Material.WOOD_DOOR, langConfig.getString("item.doorOak.name", "Oak Door"))); + itemNames.add(new ItemName(Material.BUCKET, langConfig.getString("item.bucket.name", "Bucket"))); + itemNames.add(new ItemName(Material.WATER_BUCKET, langConfig.getString("item.bucketWater.name", "Water Bucket"))); + itemNames.add(new ItemName(Material.LAVA_BUCKET, langConfig.getString("item.bucketLava.name", "Lava Bucket"))); + itemNames.add(new ItemName(Material.MINECART, langConfig.getString("item.minecart.name", "Minecart"))); + itemNames.add(new ItemName(Material.SADDLE, langConfig.getString("item.saddle.name", "Saddle"))); + itemNames.add(new ItemName(Material.IRON_DOOR, langConfig.getString("item.doorIron.name", "Iron Door"))); + itemNames.add(new ItemName(Material.REDSTONE, langConfig.getString("item.redstone.name", "Redstone"))); + itemNames.add(new ItemName(Material.SNOW_BALL, langConfig.getString("item.snowball.name", "Snowball"))); + itemNames.add(new ItemName(Material.BOAT, langConfig.getString("item.boat.oak.name", "Oak Boat"))); + itemNames.add(new ItemName(Material.LEATHER, langConfig.getString("item.leather.name", "Leather"))); + itemNames.add(new ItemName(Material.MILK_BUCKET, langConfig.getString("item.milk.name", "Milk"))); + itemNames.add(new ItemName(Material.BRICK, langConfig.getString("item.brick.name", "Brick"))); + itemNames.add(new ItemName(Material.CLAY_BALL, langConfig.getString("item.clay.name", "Clay"))); + itemNames.add(new ItemName(Material.SUGAR_CANE, langConfig.getString("item.reeds.name", "Sugar Canes"))); + itemNames.add(new ItemName(Material.PAPER, langConfig.getString("item.paper.name", "Paper"))); + itemNames.add(new ItemName(Material.BOOK, langConfig.getString("item.book.name", "Book"))); + itemNames.add(new ItemName(Material.SLIME_BALL, langConfig.getString("item.slimeball.name", "Slimeball"))); + itemNames.add(new ItemName(Material.STORAGE_MINECART, langConfig.getString("item.minecartChest.name", "Minecart with Chest"))); + itemNames.add(new ItemName(Material.POWERED_MINECART, langConfig.getString("item.minecartFurnace.name", "Minecart with Furnace"))); + itemNames.add(new ItemName(Material.EGG, langConfig.getString("item.egg.name", "Egg"))); + itemNames.add(new ItemName(Material.COMPASS, langConfig.getString("item.compass.name", "Compass"))); + itemNames.add(new ItemName(Material.FISHING_ROD, langConfig.getString("item.fishingRod.name", "Fishing Rod"))); + itemNames.add(new ItemName(Material.WATCH, langConfig.getString("item.clock.name", "Clock"))); + itemNames.add(new ItemName(Material.GLOWSTONE_DUST, langConfig.getString("item.yellowDust.name", "Glowstone Dust"))); + itemNames.add(new ItemName(Material.RAW_FISH, langConfig.getString("item.fish.cod.raw.name", "Raw Fish"))); + itemNames.add(new ItemName(Material.RAW_FISH, 1, langConfig.getString("item.fish.salmon.raw.name", "Raw Salmon"))); + itemNames.add(new ItemName(Material.RAW_FISH, 2, langConfig.getString("item.fish.clownfish.raw.name", "Clownfish"))); + itemNames.add(new ItemName(Material.RAW_FISH, 3, langConfig.getString("item.fish.pufferfish.raw.name", "Pufferfish"))); + itemNames.add(new ItemName(Material.COOKED_FISH, langConfig.getString("item.fish.cod.cooked.name", "Cooked Fish"))); + itemNames.add(new ItemName(Material.COOKED_FISH, 1, langConfig.getString("item.fish.salmon.cooked.name", "Cooked Salmon"))); + itemNames.add(new ItemName(Material.INK_SACK, langConfig.getString("item.dyePowder.black.name", "Ink Sac"))); + itemNames.add(new ItemName(Material.INK_SACK, 1, langConfig.getString("item.dyePowder.red.name", "Rose Red"))); + itemNames.add(new ItemName(Material.INK_SACK, 2, langConfig.getString("item.dyePowder.green.name", "Cactus Green"))); + itemNames.add(new ItemName(Material.INK_SACK, 3, langConfig.getString("item.dyePowder.brown.name", "Cocoa Beans"))); + itemNames.add(new ItemName(Material.INK_SACK, 4, langConfig.getString("item.dyePowder.blue.name", "Lapis Lazuli"))); + itemNames.add(new ItemName(Material.INK_SACK, 5, langConfig.getString("item.dyePowder.purple.name", "Purple Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 6, langConfig.getString("item.dyePowder.cyan.name", "Cyan Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 7, langConfig.getString("item.dyePowder.silver.name", "Light Gray Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 8, langConfig.getString("item.dyePowder.gray.name", "Gray Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 9, langConfig.getString("item.dyePowder.pink.name", "Pink Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 10, langConfig.getString("item.dyePowder.lime.name", "Lime Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 11, langConfig.getString("item.dyePowder.yellow.name", "Dandelion Yellow"))); + itemNames.add(new ItemName(Material.INK_SACK, 12, langConfig.getString("item.dyePowder.lightBlue.name", "Light Blue Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 13, langConfig.getString("item.dyePowder.magenta.name", "Magenta Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 14, langConfig.getString("item.dyePowder.orange.name", "Orange Dye"))); + itemNames.add(new ItemName(Material.INK_SACK, 15, langConfig.getString("item.dyePowder.white.name", "Bone Meal"))); + itemNames.add(new ItemName(Material.BONE, langConfig.getString("item.bone.name", "Bone"))); + itemNames.add(new ItemName(Material.SUGAR, langConfig.getString("item.sugar.name", "Sugar"))); + itemNames.add(new ItemName(Material.CAKE, langConfig.getString("item.cake.name", "Cake"))); + itemNames.add(new ItemName(Material.BED, langConfig.getString("item.bed.name", "Bed"))); + itemNames.add(new ItemName(Material.DIODE, langConfig.getString("item.diode.name", "Redstone Repeater"))); + itemNames.add(new ItemName(Material.COOKIE, langConfig.getString("item.cookie.name", "Cookie"))); + itemNames.add(new ItemName(Material.MAP, langConfig.getString("item.map.name", "Map"))); + itemNames.add(new ItemName(Material.SHEARS, langConfig.getString("item.shears.name", "Shears"))); + itemNames.add(new ItemName(Material.MELON, langConfig.getString("item.melon.name", "Melon"))); + itemNames.add(new ItemName(Material.PUMPKIN_SEEDS, langConfig.getString("item.seeds_pumpkin.name", "Pumpkin Seeds"))); + itemNames.add(new ItemName(Material.MELON_SEEDS, langConfig.getString("item.seeds_melon.name", "Melon Seeds"))); + itemNames.add(new ItemName(Material.RAW_BEEF, langConfig.getString("item.beefRaw.name", "Raw Beef"))); + itemNames.add(new ItemName(Material.COOKED_BEEF, langConfig.getString("item.beefCooked.name", "Steak"))); + itemNames.add(new ItemName(Material.RAW_CHICKEN, langConfig.getString("item.chickenRaw.name", "Raw Chicken"))); + itemNames.add(new ItemName(Material.COOKED_CHICKEN, langConfig.getString("item.chickenCooked.name", "Cooked Chicken"))); + itemNames.add(new ItemName(Material.ROTTEN_FLESH, langConfig.getString("item.rottenFlesh.name", "Rotten Flesh"))); + itemNames.add(new ItemName(Material.ENDER_PEARL, langConfig.getString("item.enderPearl.name", "Ender Pearl"))); + itemNames.add(new ItemName(Material.BLAZE_ROD, langConfig.getString("item.blazeRod.name", "Blaze Rod"))); + itemNames.add(new ItemName(Material.GHAST_TEAR, langConfig.getString("item.ghastTear.name", "Ghast Tear"))); + itemNames.add(new ItemName(Material.GOLD_NUGGET, langConfig.getString("item.goldNugget.name", "Gold Nugget"))); + itemNames.add(new ItemName(Material.NETHER_WARTS, langConfig.getString("item.netherStalkSeeds.name", "Nether Wart"))); + itemNames.add(new ItemName(Material.POTION, langConfig.getString("item.potion.name", "Potion"))); + itemNames.add(new ItemName(Material.GLASS_BOTTLE, langConfig.getString("item.glassBottle.name", "Glass Bottle"))); + itemNames.add(new ItemName(Material.SPIDER_EYE, langConfig.getString("item.spiderEye.name", "Spider Eye"))); + itemNames.add(new ItemName(Material.FERMENTED_SPIDER_EYE, langConfig.getString("item.fermentedSpiderEye.name", "Fermented Spider Eye"))); + itemNames.add(new ItemName(Material.BLAZE_POWDER, langConfig.getString("item.blazePowder.name", "Blaze Powder"))); + itemNames.add(new ItemName(Material.MAGMA_CREAM, langConfig.getString("item.magmaCream.name", "Magma Cream"))); + itemNames.add(new ItemName(Material.BREWING_STAND_ITEM, langConfig.getString("item.brewingStand.name", "Brewing Stand"))); + itemNames.add(new ItemName(Material.CAULDRON_ITEM, langConfig.getString("item.cauldron.name", "Cauldron"))); + itemNames.add(new ItemName(Material.EYE_OF_ENDER, langConfig.getString("item.eyeOfEnder.name", "Eye of Ender"))); + itemNames.add(new ItemName(Material.SPECKLED_MELON, langConfig.getString("item.speckledMelon.name", "Glistering Melon"))); + itemNames.add(new ItemName(Material.MONSTER_EGG, langConfig.getString("item.monsterPlacer.name", "Spawn"))); + itemNames.add(new ItemName(Material.EXP_BOTTLE, langConfig.getString("item.expBottle.name", "Bottle o' Enchanting"))); + itemNames.add(new ItemName(Material.FIREWORK_CHARGE, langConfig.getString("item.fireball.name", "Fire Charge"))); + itemNames.add(new ItemName(Material.BOOK_AND_QUILL, langConfig.getString("item.writingBook.name", "Book and Quill"))); + itemNames.add(new ItemName(Material.WRITTEN_BOOK, langConfig.getString("item.writtenBook.name", "Written Book"))); + itemNames.add(new ItemName(Material.EMERALD, langConfig.getString("item.emerald.name", "Emerald"))); + itemNames.add(new ItemName(Material.ITEM_FRAME, langConfig.getString("item.frame.name", "Item Frame"))); + itemNames.add(new ItemName(Material.FLOWER_POT_ITEM, langConfig.getString("item.flowerPot.name", "Flower Pot"))); + itemNames.add(new ItemName(Material.CARROT_ITEM, langConfig.getString("item.carrots.name", "Carrot"))); + itemNames.add(new ItemName(Material.POTATO_ITEM, langConfig.getString("item.potato.name", "Potato"))); + itemNames.add(new ItemName(Material.BAKED_POTATO, langConfig.getString("item.potatoBaked.name", "Baked Potato"))); + itemNames.add(new ItemName(Material.POISONOUS_POTATO, langConfig.getString("item.potatoPoisonous.name", "Poisonous Potato"))); + itemNames.add(new ItemName(Material.EMPTY_MAP, langConfig.getString("item.emptyMap.name", "Empty Map"))); + itemNames.add(new ItemName(Material.GOLDEN_CARROT, langConfig.getString("item.carrotGolden.name", "Golden Carrot"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, langConfig.getString("item.skull.skeleton.name", "Skeleton Skull"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, 1, langConfig.getString("item.skull.wither.name", "Wither Skeleton Skull"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, 2, langConfig.getString("item.skull.zombie.name", "Zombie Head"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, 3, langConfig.getString("item.skull.char.name", "Head"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, 4, langConfig.getString("item.skull.creeper.name", "Creeper Head"))); + itemNames.add(new ItemName(Material.SKULL_ITEM, 5, langConfig.getString("item.skull.dragon.name", "Creeper Head"))); + itemNames.add(new ItemName(Material.CARROT_STICK, langConfig.getString("item.carrotOnAStick.name", "Carrot on a Stick"))); + itemNames.add(new ItemName(Material.NETHER_STAR, langConfig.getString("item.netherStar.name", "Nether Star"))); + itemNames.add(new ItemName(Material.PUMPKIN_PIE, langConfig.getString("item.pumpkinPie.name", "Pumpkin Pie"))); + itemNames.add(new ItemName(Material.FIREWORK, langConfig.getString("item.fireworks.name", "Firework Rocket"))); + itemNames.add(new ItemName(Material.FIREWORK_CHARGE, langConfig.getString("item.fireworksCharge.name", "Firework Star"))); + itemNames.add(new ItemName(Material.ENCHANTED_BOOK, langConfig.getString("item.enchantedBook.name", "Enchanted Book"))); + itemNames.add(new ItemName(Material.REDSTONE_COMPARATOR, langConfig.getString("item.comparator.name", "Redstone Comparator"))); + itemNames.add(new ItemName(Material.NETHER_BRICK_ITEM, langConfig.getString("item.netherbrick.name", "Nether Brick"))); + itemNames.add(new ItemName(Material.QUARTZ, langConfig.getString("item.netherquartz.name", "Nether Quartz"))); + itemNames.add(new ItemName(Material.EXPLOSIVE_MINECART, langConfig.getString("item.minecartTnt.name", "Minecart with TNT"))); + itemNames.add(new ItemName(Material.HOPPER_MINECART, langConfig.getString("item.minecartHopper.name", "Minecart with Hopper"))); + itemNames.add(new ItemName(Material.PRISMARINE_SHARD, langConfig.getString("item.prismarineShard.name", "Prismarine Shard"))); + itemNames.add(new ItemName(Material.PRISMARINE_CRYSTALS, langConfig.getString("item.prismarineCrystals.name", "Prismarine Crystals"))); + itemNames.add(new ItemName(Material.RABBIT, langConfig.getString("item.rabbitRaw.name", "Raw Rabbit"))); + itemNames.add(new ItemName(Material.COOKED_RABBIT, langConfig.getString("item.rabbitCooked.name", "Cooked Rabbit"))); + itemNames.add(new ItemName(Material.RABBIT_STEW, langConfig.getString("item.rabbitStew.name", "Rabbit Stew"))); + itemNames.add(new ItemName(Material.RABBIT_FOOT, langConfig.getString("item.rabbitFoot.name", "Rabbit's Foot"))); + itemNames.add(new ItemName(Material.RABBIT_HIDE, langConfig.getString("item.rabbitHide.name", "Rabbit Hide"))); + itemNames.add(new ItemName(Material.ARMOR_STAND, langConfig.getString("item.armorStand.name", "Armor Stand"))); + itemNames.add(new ItemName(Material.IRON_BARDING, langConfig.getString("item.horsearmormetal.name", "Iron Horse Armor"))); + itemNames.add(new ItemName(Material.GOLD_BARDING, langConfig.getString("item.horsearmorgold.name", "Gold Horse Armor"))); + itemNames.add(new ItemName(Material.DIAMOND_BARDING, langConfig.getString("item.horsearmordiamond.name", "Diamond Horse Armor"))); + itemNames.add(new ItemName(Material.LEASH, langConfig.getString("item.leash.name", "Lead"))); + itemNames.add(new ItemName(Material.NAME_TAG, langConfig.getString("item.nameTag.name", "Name Tag"))); + itemNames.add(new ItemName(Material.COMMAND_MINECART, langConfig.getString("item.minecartCommandBlock.name", "Minecart with Command Block"))); + itemNames.add(new ItemName(Material.MUTTON, langConfig.getString("item.muttonRaw.name", "Raw Mutton"))); + itemNames.add(new ItemName(Material.COOKED_MUTTON, langConfig.getString("item.muttonCooked.name", "Cooked Mutton"))); + itemNames.add(new ItemName(Material.BANNER, langConfig.getString("item.banner.black.name", "Black Banner"))); //TODO ADD BANNER DESCRIPTIONS + itemNames.add(new ItemName(Material.BANNER, 1, langConfig.getString("item.banner.red.name", "Red Banner"))); + itemNames.add(new ItemName(Material.BANNER, 2, langConfig.getString("item.banner.green.name", "Green Banner"))); + itemNames.add(new ItemName(Material.BANNER, 3, langConfig.getString("item.banner.brown.name", "Brown Banner"))); + itemNames.add(new ItemName(Material.BANNER, 4, langConfig.getString("item.banner.blue.name", "Blue Banner"))); + itemNames.add(new ItemName(Material.BANNER, 5, langConfig.getString("item.banner.purple.name", "Purple Banner"))); + itemNames.add(new ItemName(Material.BANNER, 6, langConfig.getString("item.banner.cyan.name", "Cyan Banner"))); + itemNames.add(new ItemName(Material.BANNER, 7, langConfig.getString("item.banner.silver.name", "Light Gray Banner"))); + itemNames.add(new ItemName(Material.BANNER, 8, langConfig.getString("item.banner.gray.name", "Gray Banner"))); + itemNames.add(new ItemName(Material.BANNER, 9, langConfig.getString("item.banner.pink.name", "Pink Banner"))); + itemNames.add(new ItemName(Material.BANNER, 10, langConfig.getString("item.banner.lime.name", "Lime Banner"))); + itemNames.add(new ItemName(Material.BANNER, 11, langConfig.getString("item.banner.yellow.name", "Yellow Banner"))); + itemNames.add(new ItemName(Material.BANNER, 12, langConfig.getString("item.banner.lightBlue.name", "Light Blue Banner"))); + itemNames.add(new ItemName(Material.BANNER, 13, langConfig.getString("item.banner.magenta.name", "Magenta Banner"))); + itemNames.add(new ItemName(Material.BANNER, 14, langConfig.getString("item.banner.orange.name", "Orange Banner"))); + itemNames.add(new ItemName(Material.BANNER, 15, langConfig.getString("item.banner.white.name", "White Banner"))); + itemNames.add(new ItemName(Material.END_CRYSTAL, langConfig.getString("item.end_crystal.name", "End Crystal"))); + itemNames.add(new ItemName(Material.SPRUCE_DOOR_ITEM, langConfig.getString("item.doorSpruce.name", "Spruce Door"))); + itemNames.add(new ItemName(Material.BIRCH_DOOR_ITEM, langConfig.getString("item.doorBirch.name", "Birch Door"))); + itemNames.add(new ItemName(Material.JUNGLE_DOOR_ITEM, langConfig.getString("item.doorJungle.name", "Jungle Door"))); + itemNames.add(new ItemName(Material.ACACIA_DOOR_ITEM, langConfig.getString("item.doorAcacia.name", "Acacia Door"))); + itemNames.add(new ItemName(Material.DARK_OAK_DOOR_ITEM, langConfig.getString("item.doorDarkOak.name", "Dark Oak Door"))); + itemNames.add(new ItemName(Material.CHORUS_FRUIT, langConfig.getString("item.chorusFruit.name", "Chorus Fruit"))); + itemNames.add(new ItemName(Material.CHORUS_FRUIT_POPPED, langConfig.getString("item.chorusFruitPopped.name", "Popped Chorus Fruit"))); + itemNames.add(new ItemName(Material.BEETROOT, langConfig.getString("item.beetroot.name", "Beetroot"))); + itemNames.add(new ItemName(Material.BEETROOT_SEEDS, langConfig.getString("item.beetroot_seeds.name", "Beetroot Seeds"))); + itemNames.add(new ItemName(Material.BEETROOT_SOUP, langConfig.getString("item.beetroot_soup.name", "Beetroot Soup"))); + itemNames.add(new ItemName(Material.DRAGONS_BREATH, langConfig.getString("item.dragon_breath.name", "Dragon's Breath"))); + itemNames.add(new ItemName(Material.SPECTRAL_ARROW, langConfig.getString("item.spectral_arrow.name", "Spectral Arrow"))); + itemNames.add(new ItemName(Material.TIPPED_ARROW, langConfig.getString("item.tipped_arrow.name", "Tipped Arrow"))); + itemNames.add(new ItemName(Material.SHIELD, langConfig.getString("item.shield.name", "Shield"))); //TODO ADD SHIELD DESCRIPTIONS + itemNames.add(new ItemName(Material.ELYTRA, langConfig.getString("item.elytra.name", "Elytra"))); + itemNames.add(new ItemName(Material.BOAT_SPRUCE, langConfig.getString("item.boat.spruce.name", "Spruce Boat"))); + itemNames.add(new ItemName(Material.BOAT_BIRCH, langConfig.getString("item.boat.birch.name", "Birch Boat"))); + itemNames.add(new ItemName(Material.BOAT_JUNGLE, langConfig.getString("item.boat.jungle.name", "Jungle Boat"))); + itemNames.add(new ItemName(Material.BOAT_ACACIA, langConfig.getString("item.boat.acacia.name", "Acacia Boat"))); + itemNames.add(new ItemName(Material.BOAT_DARK_OAK, langConfig.getString("item.boat.dark_oak.name", "Dark Oak Boat"))); + itemNames.add(new ItemName(Material.GOLD_RECORD, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.GREEN_RECORD, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_3, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_4, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_5, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_6, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_7, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_8, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_9, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_10, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_11, langConfig.getString("item.record.name", "Music Disc"))); + itemNames.add(new ItemName(Material.RECORD_12, langConfig.getString("item.record.name", "Music Disc"))); + + 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.damange.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) { + enchantmentNames.add(new EnchantmentName(Enchantment.FROST_WALKER, langConfig.getString("enchantment.frostWalker", "Frost Walker"))); + enchantmentNames.add(new EnchantmentName(Enchantment.MENDING, langConfig.getString("enchantment.mending", "Mending"))); + } + + 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"))); + + 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.Ocelot.name", "Bat"))); + entityNames.add(new EntityName(EntityType.HORSE, langConfig.getString("entity.EntityHorse.name", "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) { + entityNames.add(new EntityName(EntityType.SHULKER, langConfig.getString("entity.Shulker.name", "Shulker"))); + } + + if (Utils.getMajorVersion() >= 10) { + entityNames.add(new EntityName(EntityType.POLAR_BEAR, langConfig.getString("entity.PolarBear.name", "Polar Bear"))); + } + + potionEffectNames.add(new PotionEffectName(PotionType.FIRE_RESISTANCE, langConfig.getString("effect.fireResistance", "Fire Resistance"))); + potionEffectNames.add(new PotionEffectName(PotionType.INSTANT_DAMAGE, langConfig.getString("effect.harm", "Instant Damage"))); + potionEffectNames.add(new PotionEffectName(PotionType.INSTANT_HEAL, langConfig.getString("effect.heal", "Instant Health"))); + potionEffectNames.add(new PotionEffectName(PotionType.INVISIBILITY, langConfig.getString("effect.invisibility", "Invisibility"))); + potionEffectNames.add(new PotionEffectName(PotionType.JUMP, langConfig.getString("effect.jump", "Jump Boost"))); + potionEffectNames.add(new PotionEffectName(PotionType.NIGHT_VISION, langConfig.getString("effect.nightVision", "Night Vision"))); + potionEffectNames.add(new PotionEffectName(PotionType.POISON, langConfig.getString("effect.poison", "Poison"))); + potionEffectNames.add(new PotionEffectName(PotionType.REGEN, langConfig.getString("effect.regeneration", "Regeneration"))); + potionEffectNames.add(new PotionEffectName(PotionType.SLOWNESS, langConfig.getString("effect.moveSlowdown", "Slowness"))); + potionEffectNames.add(new PotionEffectName(PotionType.SPEED, langConfig.getString("effect.moveSpeed", "Speed"))); + potionEffectNames.add(new PotionEffectName(PotionType.STRENGTH, langConfig.getString("effect.damageBoost", "Strength"))); + potionEffectNames.add(new PotionEffectName(PotionType.WATER_BREATHING, langConfig.getString("effect.waterBreathing", "Water Breathing"))); + potionEffectNames.add(new PotionEffectName(PotionType.WEAKNESS, langConfig.getString("effect.weakness", "Weakness"))); + potionEffectNames.add(new PotionEffectName(PotionType.WATER, langConfig.getString("effect.none", "No Effects"))); + potionEffectNames.add(new PotionEffectName(PotionType.AWKWARD, langConfig.getString("effect.none", "No Effects"))); + + if (Utils.getMajorVersion() >= 9) { + potionEffectNames.add(new PotionEffectName(PotionType.LUCK, langConfig.getString("effect.luck", "Luck"))); + potionEffectNames.add(new PotionEffectName(PotionType.MUNDANE, langConfig.getString("effect.none", "No Effects"))); + potionEffectNames.add(new PotionEffectName(PotionType.THICK, langConfig.getString("effect.none", "No Effects"))); + potionEffectNames.add(new PotionEffectName(PotionType.UNCRAFTABLE, langConfig.getString("effect.none", "No Effects"))); + } + + potionNames.add(new PotionName(PotionName.PotionItemType.POTION, PotionType.AWKWARD, langConfig.getString("potion.effect.awkward", "Awkward Potion"))); + 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) { + 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) { + 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", "Tipped Arrow"))); + } + + 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.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) { + 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) { + 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"))); + } + + musicDiscNames.add(new MusicDiscName(Material.GOLD_RECORD, langConfig.getString("item.record.13.desc", "C418 - 13"))); + musicDiscNames.add(new MusicDiscName(Material.GREEN_RECORD, langConfig.getString("item.record.cat.desc", "C418 - cat"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_3, langConfig.getString("item.record.blocks.desc", "C418 - blocks"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_4, langConfig.getString("item.record.chirp.desc", "C418 - chirp"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_5, langConfig.getString("item.record.far.desc", "C418 - far"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_6, langConfig.getString("item.record.mall.desc", "C418 - mall"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_7, langConfig.getString("item.record.mellohi.desc", "C418 - mellohi"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_8, langConfig.getString("item.record.stal.desc", "C418 - stal"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_9, langConfig.getString("item.record.strad.desc", "C418 - strad"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_10, langConfig.getString("item.record.ward.desc", "C418 - ward"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_11, langConfig.getString("item.record.11.desc", "C418 - 11"))); + musicDiscNames.add(new MusicDiscName(Material.RECORD_12, langConfig.getString("item.record.wait.desc", "C418 - wait"))); + + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_CREATED, langConfig.getString("message.shop-created", "&6Shop created."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CHEST_ALREADY_SHOP, langConfig.getString("message.chest-already-shop", "&cChest already shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_REMOVED, langConfig.getString("message.shop-removed", "&6Shop removed."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CHEST_NO_SHOP, langConfig.getString("message.chest-no-shop", "&cChest is not a shop."))); + messages.add(new LocalizedMessage(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."), Regex.CREATION_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_VENDOR, langConfig.getString("message.shopInfo.vendor", "&6Vendor: &e%VENDOR%"), Regex.VENDOR)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_PRODUCT, langConfig.getString("message.shopInfo.product", "&6Product: &e%AMOUNT% x %ITEMNAME%"), Regex.AMOUNT, Regex.ITEM_NAME)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_STOCK, langConfig.getString("message.shopInfo.stock", "&6In Stock: &e%AMOUNT%"), Regex.AMOUNT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_ENCHANTMENTS, langConfig.getString("message.shopInfo.enchantments", "&6Enchantments: &e%ENCHANTMENT%"), Regex.ENCHANTMENT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_POTION_EFFECT, langConfig.getString("message.shopInfo.potion-effect", "&6Potion Effect: &e%POTION-EFFECT%"), Regex.POTION_EFFECT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_MUSIC_TITLE, langConfig.getString("message.shopInfo.music-disc-title", "&6Music Disc Title: &e%MUSIC-TITLE%"), Regex.MUSIC_TITLE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_NONE, langConfig.getString("message.shopInfo.none", "&7None"))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_PRICE, langConfig.getString("message.shopInfo.price", "&6Price: Buy: &e%BUY-PRICE%&6 Sell: &e%SELL-PRICE%"), Regex.BUY_PRICE, Regex.SELL_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_DISABLED, langConfig.getString("message.shopInfo.disabled", "&7Disabled"))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_NORMAL, langConfig.getString("message.shopInfo.is-normal", "&6Type: &eNormal"))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_INFO_ADMIN, langConfig.getString("message.shopInfo.is-admin", "&6Type: &eAdmin"))); + messages.add(new LocalizedMessage(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(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."), Regex.AMOUNT, Regex.ITEM_NAME, Regex.BUY_PRICE, Regex.VENDOR)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.BUY_SUCESS_ADMIN, langConfig.getString("message.buy-sucess-admin", "&aYou bought &6%AMOUNT% x %ITEMNAME%&a for &6%BUY-PRICE%&a."), Regex.AMOUNT, Regex.ITEM_NAME, Regex.BUY_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SELL_SUCESS, langConfig.getString("message.sell-success", "&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a to &6%VENDOR%&a."), Regex.AMOUNT, Regex.ITEM_NAME, Regex.SELL_PRICE, Regex.VENDOR)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SELL_SUCESS_ADMIN, langConfig.getString("message.sell-success-admin", "&aYou sold &6%AMOUNT% x %ITEMNAME%&a for &6%SELL-PRICE%&a."), Regex.AMOUNT, Regex.ITEM_NAME, Regex.SELL_PRICE)); + messages.add(new LocalizedMessage(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."), Regex.PLAYER, Regex.AMOUNT, Regex.ITEM_NAME, Regex.BUY_PRICE)); + messages.add(new LocalizedMessage(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."), Regex.PLAYER, Regex.AMOUNT, Regex.ITEM_NAME, Regex.SELL_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NOT_ENOUGH_INVENTORY_SPACE, langConfig.getString("message.not-enough-inventory-space", "&cNot enough space in inventory."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CHEST_NOT_ENOUGH_INVENTORY_SPACE, langConfig.getString("message.chest-not-enough-inventory-space", "&cShop is full."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NOT_ENOUGH_MONEY, langConfig.getString("message.not-enough-money", "&cNot enough money."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NOT_ENOUGH_ITEMS, langConfig.getString("message.not-enough-items", "&cNot enough items."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.VENDOR_NOT_ENOUGH_MONEY, langConfig.getString("message.vendor-not-enough-money", "&cVendor has not enough money."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.OUT_OF_STOCK, langConfig.getString("message.out-of-stock", "&cShop out of stock."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.ERROR_OCCURRED, langConfig.getString("message.error-occurred", "&cAn error occurred: %ERROR%"), Regex.ERROR)); + messages.add(new LocalizedMessage(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(LocalizedMessage.Message.NO_ITEM_IN_HAND, langConfig.getString("message.no-item-in-hand", "&cNo item in hand"))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CLICK_CHEST_CREATE, langConfig.getString("message.click-chest-to-create-shop", "&aClick a chest to create a shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CLICK_CHEST_REMOVE, langConfig.getString("message.click-chest-to-remove-shop", "&aClick a shop-chest to remove the shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CLICK_CHEST_INFO, langConfig.getString("message.click-chest-for-info", "&aClick a shop to retrieve information."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.OPENED_SHOP, langConfig.getString("message.opened-shop", "&aYou opened %VENDOR%'s shop."), Regex.VENDOR)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CANNOT_BREAK_SHOP, langConfig.getString("message.cannot-break-shop", "&cYou can't break a shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CANNOT_SELL_BROKEN_ITEM, langConfig.getString("message.cannot-sell-broken-item", "&cYou can't sell a broken item."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.BUY_PRICE_TOO_LOW, langConfig.getString("message.buy-price-too-low", "&cThe buy price must be higher than %MIN-PRICE%."), Regex.MIN_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SELL_PRICE_TOO_LOW, langConfig.getString("message.sell-price-too-low", "&cThe sell price must be higher than %MIN-PRICE%."), Regex.MIN_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.BUYING_DISABLED, langConfig.getString("message.buying-disabled", "&cBuying is disabled at this shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SELLING_DISABLED, langConfig.getString("message.selling-disabled", "&cSelling is disabled at this shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.RELOADED_SHOPS, langConfig.getString("message.reloaded-shops", "&aSuccessfully reloaded %AMOUNT% shop/s."), Regex.AMOUNT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.SHOP_LIMIT_REACHED, langConfig.getString("message.shop-limit-reached", "&cYou reached your limit of &6%LIMIT% &cshop/s."), Regex.LIMIT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.OCCUPIED_SHOP_SLOTS, langConfig.getString("message.occupied-shop-slots", "&6You have &c%AMOUNT%/%LIMIT% &6shop slot/s occupied."), Regex.AMOUNT, Regex.LIMIT)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.CANNOT_SELL_ITEM, langConfig.getString("message.cannot-sell-item", "&cYou cannot create a shop with this item."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.UPDATE_AVAILABLE, langConfig.getString("message.update.update-available", "&6&lVersion &c%VERSION% &6of &cShopChest &6is available &chere."), Regex.VERSION)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.UPDATE_CLICK_TO_DOWNLOAD, langConfig.getString("message.update.click-to-download", "Click to download"))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.UPDATE_NO_UPDATE, langConfig.getString("message.update.no-update", "&6&lNo new update available."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.UPDATE_CHECKING, langConfig.getString("message.update.checking", "&6&lChecking for updates..."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.UPDATE_ERROR, langConfig.getString("message.update.error", "&c&lError while checking for updates."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.HOLOGRAM_FORMAT, langConfig.getString("message.hologram.format", "%AMOUNT% * %ITEMNAME%"), Regex.AMOUNT, Regex.ITEM_NAME)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.HOLOGRAM_BUY_SELL, langConfig.getString("message.hologram.buy-and-sell", "Buy %BUY-PRICE% | %SELL-PRICE% Sell"), Regex.BUY_PRICE, Regex.SELL_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.HOLOGRAM_BUY, langConfig.getString("message.hologram.only-buy", "Buy %BUY-PRICE%"), Regex.BUY_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.HOLOGRAM_SELL, langConfig.getString("message.hologram.only-sell", "Sell %SELL-PRICE%"), Regex.SELL_PRICE)); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_CREATE, langConfig.getString("message.noPermission.create", "&cYou don't have permission to create a shop."))); + messages.add(new LocalizedMessage(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(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(LocalizedMessage.Message.NO_PERMISSION_BUY, langConfig.getString("message.noPermission.buy", "&cYou don't have permission to buy something."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_SELL, langConfig.getString("message.noPermission.sell", "&cYou don't have permission to sell something."))); + messages.add(new LocalizedMessage(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(LocalizedMessage.Message.NO_PERMISSION_RELOAD, langConfig.getString("message.noPermission.reload", "&cYou don't have permission to reload the shops."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_UPDATE, langConfig.getString("message.noPermission.update", "&cYou don't have permission to check for updates."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_LIMITS, langConfig.getString("message.noPermission.limits", "&cYou don't have permission to view the shop limits."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_CREATE, langConfig.getString("message.commandDescription.create", "Create a shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_REMOVE, langConfig.getString("message.commandDescription.remove", "Remove a shop."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_INFO, langConfig.getString("message.commandDescription.info", "Retrieve shop information."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_RELOAD, langConfig.getString("message.commandDescription.reload", "Reload shops."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_UPDATE, langConfig.getString("message.commandDescription.update", "Check for Updates."))); + messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_LIMITS, langConfig.getString("message.commandDescription.limits", "View shop limits."))); + } + + public static String getItemName(ItemStack stack) { + if (stack.hasItemMeta()) { + ItemMeta meta = stack.getItemMeta(); + if (meta.getDisplayName() != null) { + return meta.getDisplayName(); + } else if (meta instanceof BookMeta) { + return ((BookMeta) meta).getTitle(); + } + } + + Material material = stack.getType(); + int subID = (int) stack.getDurability(); + + if (stack.getItemMeta() instanceof PotionMeta) { + PotionMeta meta = (PotionMeta) stack.getItemMeta(); + PotionType potionType = meta.getBasePotionData().getType(); + + for (PotionName potionName : potionNames) { + if (material == Material.POTION) { + if (potionName.getPotionItemType() == PotionName.PotionItemType.POTION && potionName.getPotionType() == potionType) { + return potionName.getLocalizedName(); + } + } else if (material == Material.SPLASH_POTION) { + if (potionName.getPotionItemType() == PotionName.PotionItemType.SPLASH_POTION && potionName.getPotionType() == potionType) { + return potionName.getLocalizedName(); + } + } else { + if (Utils.getMajorVersion() >= 9) { + if (material == Material.LINGERING_POTION) { + if (potionName.getPotionItemType() == PotionName.PotionItemType.LINGERING_POTION && potionName.getPotionType() == potionType) { + return potionName.getLocalizedName(); + } + } else if (material == Material.TIPPED_ARROW) { + if (potionName.getPotionItemType() == PotionName.PotionItemType.TIPPED_ARROW && potionName.getPotionType() == potionType) { + return potionName.getLocalizedName(); + } + } + } + } + } + } + + for (ItemName itemName : itemNames) { + if (itemName.getMaterial() == Material.MONSTER_EGG && material == Material.MONSTER_EGG) { + SpawnEggMeta spawnEggMeta; + + switch (Utils.getServerVersion()) { + case "v1_8_R1": + spawnEggMeta = new SpawnEggMeta_1_8_R1(stack); + break; + case "v1_8_R2": + spawnEggMeta = new SpawnEggMeta_1_8_R2(stack); + break; + case "v1_8_R3": + spawnEggMeta = new SpawnEggMeta_1_8_R3(stack); + break; + case "v1_9_R1": + spawnEggMeta = new SpawnEggMeta_1_9_R1(stack); + break; + case "v1_9_R2": + spawnEggMeta = new SpawnEggMeta_1_9_R2(stack); + break; + case "v1_10_R1": + spawnEggMeta = new SpawnEggMeta_1_10_R1(stack); + break; + default: + return itemName.getLocalizedName(); + + } + + EntityType spawnedType = spawnEggMeta.getEntityTypeFromNBTEntityID(spawnEggMeta.getNBTEntityID()); + + for (EntityName entityName : entityNames) { + if (entityName.getEntityType() == spawnedType) { + return itemName.getLocalizedName() + " " + entityName.getLocalizedName(); + } + } + + return itemName.getLocalizedName() + " " + capitalizeDefaultString(spawnedType.toString()); + + } + + if ((itemName.getSubID() == subID) && (itemName.getMaterial() == material)) { + return itemName.getLocalizedName(); + } + + } + + return capitalizeDefaultString(material.toString()); + } + + public static String getEnchantmentName(Enchantment enchantment, int level) { + String enchantmentString = capitalizeDefaultString(enchantment.getName()); + String levelString = langConfig.getString("enchantment.level." + level, String.valueOf(level)); + + 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; + } + + public static String getPotionEffectName(ItemStack itemStack) { + PotionMeta potionMeta = (PotionMeta) itemStack.getItemMeta(); + + String potionEffectString = capitalizeDefaultString(potionMeta.getBasePotionData().getType().toString()); + String upgradeString = potionMeta.getBasePotionData().isUpgraded() ? "II" : ""; + + for (PotionEffectName potionEffectName : potionEffectNames) { + if (potionEffectName.getEffect() == potionMeta.getBasePotionData().getType()) { + potionEffectString = potionEffectName.getLocalizedName(); + } + } + + return potionEffectString + (upgradeString.length() > 0 ? " " + upgradeString : ""); + } + + public static String getMusicDiscName(Material musicDiscMaterial) { + for (MusicDiscName musicDiscName : musicDiscNames) { + if (musicDiscMaterial == musicDiscName.getMusicDiscMaterial()) { + return musicDiscName.getLocalizedName(); + } + } + + return ""; + } + + public static String getMessage(LocalizedMessage.Message message, LocalizedMessage.ReplacedRegex... replacedRegexes) { + String _message = ChatColor.RED + "An error occurred: Message not found: " + message.toString(); + + ArrayList neededRegexes = new ArrayList<>(); + ArrayList usedRegexes = new ArrayList<>(); + + for (LocalizedMessage localizedMessage : messages) { + if (localizedMessage.getMessage() == message) { + _message = localizedMessage.getLocalizedString(); + for (LocalizedMessage.ReplacedRegex replacedRegex : replacedRegexes) { + neededRegexes.add(replacedRegex.getRegex()); + for (int i = 0; i < localizedMessage.getRegexes().length; i++) { + if (localizedMessage.getRegexes()[i] == replacedRegex.getRegex()) { + Regex regex = replacedRegex.getRegex(); + String toReplace = replacedRegex.getReplace(); + if (regex == Regex.BUY_PRICE || regex == Regex.SELL_PRICE || regex == Regex.MIN_PRICE || regex == Regex.CREATION_PRICE) { + double price = Double.parseDouble(toReplace); + toReplace = plugin.getEconomy().format(price); + } + _message = _message.replace(regex.getName(), toReplace); + usedRegexes.add(regex); + break; + } + } + } + } + } + + if (!neededRegexes.containsAll(usedRegexes)) { + for (Regex regex : usedRegexes) { + if (!neededRegexes.contains(regex)) { + plugin.getLogger().warning("Regex '" + regex.toString() + "' was not used in message '" + message.toString() + "'"); + } + } + } + + return _message; + } + + private static String capitalizeDefaultString(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/src/de/epiceric/shopchest/language/LocalizedMessage.java b/src/de/epiceric/shopchest/language/LocalizedMessage.java new file mode 100644 index 0000000..d87a255 --- /dev/null +++ b/src/de/epiceric/shopchest/language/LocalizedMessage.java @@ -0,0 +1,128 @@ +package de.epiceric.shopchest.language; + +import de.epiceric.shopchest.config.Regex; +import org.bukkit.ChatColor; + +public class LocalizedMessage { + + private Message message; + private Regex[] regexes; + private String localizedString; + + public LocalizedMessage(Message message, String localizedString, Regex... regexes) { + this.message = message; + this.regexes = regexes; + this.localizedString = ChatColor.translateAlternateColorCodes('&', localizedString); + } + + public LocalizedMessage(Message message, String localizedString) { + this.message = message; + this.localizedString = ChatColor.translateAlternateColorCodes('&', localizedString); + } + + public Message getMessage() { + return message; + } + + public Regex[] getRegexes() { + return regexes; + } + + public String getLocalizedString() { + return localizedString; + } + + public enum Message { + SHOP_CREATED, + CHEST_ALREADY_SHOP, + SHOP_REMOVED, + CHEST_NO_SHOP, + SHOP_CREATE_NOT_ENOUGH_MONEY, + SHOP_INFO_VENDOR, + SHOP_INFO_PRODUCT, + SHOP_INFO_STOCK, + SHOP_INFO_ENCHANTMENTS, + SHOP_INFO_POTION_EFFECT, + SHOP_INFO_MUSIC_TITLE, + SHOP_INFO_NONE, + SHOP_INFO_PRICE, + SHOP_INFO_DISABLED, + SHOP_INFO_NORMAL, + SHOP_INFO_ADMIN, + BUY_SELL_DISABLED, + BUY_SUCCESS, + BUY_SUCESS_ADMIN, + SELL_SUCESS, + SELL_SUCESS_ADMIN, + SOMEONE_BOUGHT, + SOMEONE_SOLD, + NOT_ENOUGH_INVENTORY_SPACE, + CHEST_NOT_ENOUGH_INVENTORY_SPACE, + NOT_ENOUGH_MONEY, + NOT_ENOUGH_ITEMS, + VENDOR_NOT_ENOUGH_MONEY, + OUT_OF_STOCK, + ERROR_OCCURRED, + AMOUNT_PRICE_NOT_NUMBER, + NO_ITEM_IN_HAND, + CLICK_CHEST_CREATE, + CLICK_CHEST_REMOVE, + CLICK_CHEST_INFO, + OPENED_SHOP, + CANNOT_BREAK_SHOP, + CANNOT_SELL_BROKEN_ITEM, + BUY_PRICE_TOO_LOW, + SELL_PRICE_TOO_LOW, + BUYING_DISABLED, + SELLING_DISABLED, + RELOADED_SHOPS, + SHOP_LIMIT_REACHED, + OCCUPIED_SHOP_SLOTS, + CANNOT_SELL_ITEM, + UPDATE_AVAILABLE, + UPDATE_CLICK_TO_DOWNLOAD, + UPDATE_NO_UPDATE, + UPDATE_CHECKING, + UPDATE_ERROR, + HOLOGRAM_FORMAT, + HOLOGRAM_BUY_SELL, + HOLOGRAM_BUY, + HOLOGRAM_SELL, + NO_PERMISSION_CREATE, + NO_PERMISSION_CREATE_ADMIN, + NO_PERMISSION_OPEN_OTHERS, + NO_PERMISSION_BUY, + NO_PERMISSION_SELL, + NO_PERMISSION_REMOVE_OTHERS, + NO_PERMISSION_RELOAD, + NO_PERMISSION_UPDATE, + NO_PERMISSION_LIMITS, + COMMAND_DESC_CREATE, + COMMAND_DESC_REMOVE, + COMMAND_DESC_INFO, + COMMAND_DESC_RELOAD, + COMMAND_DESC_UPDATE, + COMMAND_DESC_LIMITS; + } + + public static class ReplacedRegex { + + private Regex regex; + private String replace; + + public ReplacedRegex(Regex regex, String replace) { + this.regex = regex; + this.replace = replace; + } + + public String getReplace() { + return replace; + } + + public Regex getRegex() { + return regex; + } + + } + +} diff --git a/src/de/epiceric/shopchest/language/MusicDiscName.java b/src/de/epiceric/shopchest/language/MusicDiscName.java new file mode 100644 index 0000000..d4ef8fe --- /dev/null +++ b/src/de/epiceric/shopchest/language/MusicDiscName.java @@ -0,0 +1,23 @@ +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; + } + + public String getLocalizedName() { + return localizedName; + } + + public Material getMusicDiscMaterial() { + return musicDiscMaterial; + } + +} diff --git a/src/de/epiceric/shopchest/language/PotionEffectName.java b/src/de/epiceric/shopchest/language/PotionEffectName.java new file mode 100644 index 0000000..04a121e --- /dev/null +++ b/src/de/epiceric/shopchest/language/PotionEffectName.java @@ -0,0 +1,24 @@ +package de.epiceric.shopchest.language; + +import org.bukkit.potion.PotionType; + +public class PotionEffectName { + + private PotionType effect; + private String localizedName; + + public PotionEffectName(PotionType effect, String localizedName) { + this.effect = effect; + this.localizedName = localizedName; + } + + + public PotionType getEffect() { + return effect; + } + + public String getLocalizedName() { + return localizedName; + } + +} diff --git a/src/de/epiceric/shopchest/language/PotionName.java b/src/de/epiceric/shopchest/language/PotionName.java new file mode 100644 index 0000000..2db8916 --- /dev/null +++ b/src/de/epiceric/shopchest/language/PotionName.java @@ -0,0 +1,36 @@ +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; + } + + public PotionItemType getPotionItemType() { + return potionItemType; + } + + public PotionType getPotionType() { + return potionType; + } + + public String getLocalizedName() { + return localizedName; + } + + public enum PotionItemType { + POTION, + LINGERING_POTION, + SPLASH_POTION, + TIPPED_ARROW; + } +} diff --git a/src/de/epiceric/shopchest/shop/Shop.java b/src/de/epiceric/shopchest/shop/Shop.java index 0367959..a719622 100644 --- a/src/de/epiceric/shopchest/shop/Shop.java +++ b/src/de/epiceric/shopchest/shop/Shop.java @@ -1,10 +1,11 @@ package de.epiceric.shopchest.shop; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.config.Config; +import de.epiceric.shopchest.config.Regex; import de.epiceric.shopchest.interfaces.Hologram; import de.epiceric.shopchest.interfaces.hologram.*; -import de.epiceric.shopchest.utils.ItemNames; +import de.epiceric.shopchest.language.LanguageUtils; +import de.epiceric.shopchest.language.LocalizedMessage; import de.epiceric.shopchest.utils.Utils; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -155,14 +156,21 @@ public class Shop { } else holoLocation = new Location(b.getWorld(), b.getX() + 0.5, b.getY() - 0.6, b.getZ() + 0.5); - holoText[0] = Config.hologram_format(product.getAmount(), ItemNames.lookup(product)); + holoText[0] = LanguageUtils.getMessage(LocalizedMessage.Message.HOLOGRAM_FORMAT, new LocalizedMessage.ReplacedRegex(Regex.AMOUNT, String.valueOf(product.getAmount())), + new LocalizedMessage.ReplacedRegex(Regex.ITEM_NAME, LanguageUtils.getItemName(product))); - if ((buyPrice <= 0) && (sellPrice > 0)) holoText[1] = Config.hologram_sell(sellPrice); - else if ((buyPrice > 0) && (sellPrice <= 0)) holoText[1] = Config.hologram_buy(buyPrice); - else if ((buyPrice > 0) && (sellPrice > 0)) holoText[1] = Config.hologram_buy_sell(buyPrice, sellPrice); - else holoText[1] = Config.hologram_buy_sell(buyPrice, sellPrice); + if ((buyPrice <= 0) && (sellPrice > 0)) + holoText[1] = LanguageUtils.getMessage(LocalizedMessage.Message.HOLOGRAM_SELL, new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(sellPrice))); + else if ((buyPrice > 0) && (sellPrice <= 0)) + holoText[1] = LanguageUtils.getMessage(LocalizedMessage.Message.HOLOGRAM_BUY, new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(buyPrice))); + else if ((buyPrice > 0) && (sellPrice > 0)) + holoText[1] = LanguageUtils.getMessage(LocalizedMessage.Message.HOLOGRAM_BUY_SELL, new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(buyPrice)), + new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(sellPrice))); + else + holoText[1] = LanguageUtils.getMessage(LocalizedMessage.Message.HOLOGRAM_BUY_SELL, new LocalizedMessage.ReplacedRegex(Regex.BUY_PRICE, String.valueOf(buyPrice)), + new LocalizedMessage.ReplacedRegex(Regex.SELL_PRICE, String.valueOf(sellPrice))); - switch (Utils.getVersion(plugin.getServer())) { + switch (Utils.getServerVersion()) { case "v1_8_R1": hologram = new Hologram_1_8_R1(holoText, holoLocation); break; diff --git a/src/de/epiceric/shopchest/sql/Database.java b/src/de/epiceric/shopchest/sql/Database.java index 969ec14..388acd4 100644 --- a/src/de/epiceric/shopchest/sql/Database.java +++ b/src/de/epiceric/shopchest/sql/Database.java @@ -1,10 +1,10 @@ package de.epiceric.shopchest.sql; import de.epiceric.shopchest.ShopChest; -import de.epiceric.shopchest.utils.Utils; import de.epiceric.shopchest.shop.Shop; import de.epiceric.shopchest.shop.Shop.ShopType; import de.epiceric.shopchest.utils.ShopUtils; +import de.epiceric.shopchest.utils.Utils; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.OfflinePlayer; diff --git a/src/de/epiceric/shopchest/sql/MySQL.java b/src/de/epiceric/shopchest/sql/MySQL.java index 74cd6da..1f49300 100644 --- a/src/de/epiceric/shopchest/sql/MySQL.java +++ b/src/de/epiceric/shopchest/sql/MySQL.java @@ -21,10 +21,10 @@ public class MySQL extends Database { Class.forName("com.mysql.jdbc.Driver"); - String connectUrl = "jdbc:mysql://" + Config.database_mysql_host() + ":" + Config.database_mysql_port() + "/" + Config.database_mysql_database(); - plugin.getLogger().info("Connecting to MySQL Server \"" + connectUrl + "\" as user \"" + Config.database_mysql_username() + "\""); + String connectUrl = "jdbc:mysql://" + Config.database_mysql_host + ":" + Config.database_mysql_port + "/" + Config.database_mysql_database; + plugin.getLogger().info("Connecting to MySQL Server \"" + connectUrl + "\" as user \"" + Config.database_mysql_username + "\""); - connection = DriverManager.getConnection(connectUrl, Config.database_mysql_username(), Config.database_mysql_password()); + connection = DriverManager.getConnection(connectUrl, Config.database_mysql_username, Config.database_mysql_password); return connection; } catch (Exception ex) { diff --git a/src/de/epiceric/shopchest/utils/ArrowEffectNames.java b/src/de/epiceric/shopchest/utils/ArrowEffectNames.java deleted file mode 100644 index b18cb18..0000000 --- a/src/de/epiceric/shopchest/utils/ArrowEffectNames.java +++ /dev/null @@ -1,108 +0,0 @@ -package de.epiceric.shopchest.utils; - -import com.google.common.collect.ImmutableMap; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.PotionMeta; - -import java.util.Map; - -public class ArrowEffectNames { - - private static final Map effectMap = ImmutableMap.builder() - .put("FIRE_RESISTANCE", "Fire Resistance") - .put("INSTANT_DAMAGE", "Instant Damage") - .put("INSTANT_HEAL", "Instant Health") - .put("INVISIBILITY", "Invisibility") - .put("JUMP", "Jump Boost") - .put("LUCK", "Luck") - .put("NIGHT_VISION", "Night Vision") - .put("POISION", "Poison") - .put("REGEN", "Regeneration") - .put("SLOWNESS", "Slowness") - .put("SPEED", "Speed") - .put("STRENGTH", "Strength") - .put("WATER_BREATHING", "Water Breathing") - .put("WEAKNESS", "Weakness") - .build(); - - - public static String getTippedArrowName(ItemStack itemStack) { - - if (!(itemStack.getItemMeta() instanceof PotionMeta)) { - return null; - } - - String name; - - PotionMeta meta = (PotionMeta) itemStack.getItemMeta(); - - name = effectMap.get(meta.getBasePotionData().getType().toString()); - - if (meta.getBasePotionData().isUpgraded()) { - name += " II"; - switch (meta.getBasePotionData().getType()) { - case JUMP: - name += " (0:11)"; - break; - case SPEED: - name += " (0:11)"; - break; - case POISON: - name += " (0:02)"; - break; - case REGEN: - name += " (0:02)"; - break; - case STRENGTH: - name += " (0:11)"; - break; - default: - break; - } - } else { - switch (meta.getBasePotionData().getType()) { - case FIRE_RESISTANCE: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case INVISIBILITY: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case JUMP: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case LUCK: - name += " (0:37)"; - break; - case NIGHT_VISION: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case POISON: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "0:11" : "0:05") + ")"; - break; - case REGEN: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "0:11" : "0:05") + ")"; - break; - case SLOWNESS: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "0:30" : "0:11") + ")"; - break; - case SPEED: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case STRENGTH: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case WATER_BREATHING: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "1:00" : "0:22") + ")"; - break; - case WEAKNESS: - name += " (" + ((meta.getBasePotionData().isExtended()) ? "0:30" : "0:11") + ")"; - break; - default: - break; - } - } - - return name; - } - -} diff --git a/src/de/epiceric/shopchest/utils/ColorNames.java b/src/de/epiceric/shopchest/utils/ColorNames.java deleted file mode 100644 index 2fdb2d7..0000000 --- a/src/de/epiceric/shopchest/utils/ColorNames.java +++ /dev/null @@ -1,33 +0,0 @@ -package de.epiceric.shopchest.utils; - -import com.google.common.collect.ImmutableMap; -import org.bukkit.DyeColor; - -import java.util.Map; - -public class ColorNames { - - private static final Map map = ImmutableMap.builder() - .put(DyeColor.BLACK, "Black") - .put(DyeColor.BLUE, "Blue") - .put(DyeColor.BROWN, "Brown") - .put(DyeColor.CYAN, "Cyan") - .put(DyeColor.GRAY, "Light Gray") - .put(DyeColor.GREEN, "Green") - .put(DyeColor.LIGHT_BLUE, "Light Blue") - .put(DyeColor.LIME, "Lime") - .put(DyeColor.MAGENTA, "Magenta") - .put(DyeColor.ORANGE, "Orange") - .put(DyeColor.PINK, "Pink") - .put(DyeColor.PURPLE, "Purple") - .put(DyeColor.RED, "Red") - .put(DyeColor.SILVER, "Gray") - .put(DyeColor.WHITE, "White") - .put(DyeColor.YELLOW, "Yellow") - .build(); - - public static String getColorString(DyeColor dyeColor) { - return map.get(dyeColor); - } - -} diff --git a/src/de/epiceric/shopchest/utils/EnchantmentNames.java b/src/de/epiceric/shopchest/utils/EnchantmentNames.java deleted file mode 100644 index 7ccb64b..0000000 --- a/src/de/epiceric/shopchest/utils/EnchantmentNames.java +++ /dev/null @@ -1,83 +0,0 @@ -package de.epiceric.shopchest.utils; - -import com.google.common.collect.ImmutableMap; -import org.bukkit.enchantments.Enchantment; - -import java.util.LinkedHashMap; -import java.util.Map; - -public class EnchantmentNames { - - private static final Map enchMap = ImmutableMap.builder() - .put("PROTECTION_ENVIRONMENTAL", "Protection") - .put("PROTECTION_FIRE", "Fire Protection") - .put("PROTECTION_FALL", "Feather Falling") - .put("PROTECTION_EXPLOSIONS", "Blast Protection") - .put("OXYGEN", "Respiration") - .put("WATER_WORKER", "Aqua Affinity") - .put("THORNS", "Thorns") - .put("DEPTH_STRIDER", "Depth Strider") - .put("DAMAGE_ALL", "Sharpness") - .put("DAMAGE_UNDEAD", "smite") - .put("DAMAGE_ARTHROPODS", "Bane of Arthropods") - .put("KNOCKBACK", "Knockback") - .put("FIRE_ASPECT", "Fire Aspect") - .put("LOOT_BONUS_MOBS", "Looting") - .put("DIG_SPEED", "Efficiency") - .put("SILK_TOUCH", "Silk Touch") - .put("DURABILITY", "Unbreaking") - .put("LOOT_BONUS_BLOCKS", "Fortune") - .put("ARROW_DAMAGE", "Power") - .put("ARROW_KNOCKBACK", "Punch") - .put("ARROW_FIRE", "Flame") - .put("ARROW_INFINITE", "Infinity") - .put("LUCK", "Luck of the Sea") - .put("LURE", "Lure") - .build(); - - public static String lookup(Enchantment enchantment, int level) { - String key = enchantment.getName(); - String name = enchMap.get(key); - - String levelString = getRomanNumber(level); - - return name + " " + levelString; - } - - public static String getRomanNumber(int Int) { - - LinkedHashMap roman_numerals = new LinkedHashMap(); - roman_numerals.put("M", 1000); - roman_numerals.put("CM", 900); - roman_numerals.put("D", 500); - roman_numerals.put("CD", 400); - roman_numerals.put("C", 100); - roman_numerals.put("XC", 90); - roman_numerals.put("L", 50); - roman_numerals.put("XL", 40); - roman_numerals.put("X", 10); - roman_numerals.put("IX", 9); - roman_numerals.put("V", 5); - roman_numerals.put("IV", 4); - roman_numerals.put("I", 1); - String res = ""; - for (Map.Entry entry : roman_numerals.entrySet()) { - int matches = Int / entry.getValue(); - res += repeat(entry.getKey(), matches); - Int = Int % entry.getValue(); - } - return res; - } - - public static String repeat(String s, int n) { - if (s == null) { - return null; - } - final StringBuilder sb = new StringBuilder(); - for (int i = 0; i < n; i++) { - sb.append(s); - } - return sb.toString(); - } - -} diff --git a/src/de/epiceric/shopchest/utils/ItemNames.java b/src/de/epiceric/shopchest/utils/ItemNames.java deleted file mode 100644 index b83734a..0000000 --- a/src/de/epiceric/shopchest/utils/ItemNames.java +++ /dev/null @@ -1,676 +0,0 @@ -package de.epiceric.shopchest.utils; - -import com.google.common.collect.ImmutableMap; -import org.bukkit.DyeColor; -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BookMeta; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.LeatherArmorMeta; - -import java.util.Map; - -public class ItemNames { - - private static final Map map = ImmutableMap.builder() - .put("1", "Stone") - .put("1:1", "Granite") - .put("1:2", "Polished Granite") - .put("1:3", "Diorite") - .put("1:4", "Polished Diorite") - .put("1:5", "Andesite") - .put("1:6", "Polished Andesite") - .put("2", "Grass Block") - .put("3", "Dirt") - .put("3:1", "Coarse Dirt") - .put("3:2", "Podzol") - .put("4", "Cobblestone") - .put("5", "Oak Wood Planks") - .put("5:1", "Spruce Wood Planks") - .put("5:2", "Birch Wood Planks") - .put("5:3", "Jungle Wood Planks") - .put("5:4", "Acacia Wood Planks") - .put("5:5", "Dark Oak Wood Planks") - .put("6", "Oak Sapling") - .put("6:1", "Spruce Sapling") - .put("6:2", "Birch Sapling") - .put("6:3", "Jungle Sapling") - .put("6:4", "Acacia Sapling") - .put("6:5", "Dark Oak Sapling") - .put("7", "Bedrock") - .put("8", "Water (No Spread)") - .put("9", "Water") - .put("10", "Lava (No Spread)") - .put("11", "Lava") - .put("12", "Sand") - .put("12:1", "Red Sand") - .put("13", "Gravel") - .put("14", "Gold Ore") - .put("15", "Iron Ore") - .put("16", "Coal Ore") - .put("17", "Oak Wood") - .put("17:1", "Spruce Wood") - .put("17:2", "Birch Wood") - .put("17:3", "Jungle Wood") - .put("18", "Oak Leaves") - .put("18:1", "Spruce Leaves") - .put("18:2", "Birch Leaves") - .put("18:3", "Jungle Leaves") - .put("19", "Sponge") - .put("19:1", "Wet Sponge") - .put("20", "Glass") - .put("21", "Lapis Lazuli Ore") - .put("22", "Lapis Lazuli Block") - .put("23", "Dispenser") - .put("24", "Sandstone") - .put("24:1", "Chiseled Sandstone") - .put("24:2", "Smooth Sandstone") - .put("25", "Note Block") - .put("26", "Bed") - .put("27", "Powered Rail") - .put("28", "Detector Rail") - .put("29", "Sticky Piston") - .put("30", "Web") - .put("31", "Shrub") - .put("31:1", "Grass") - .put("31:2", "Fern") - .put("32", "Dead Bush") - .put("33", "Piston") - .put("34", "Piston (Head)") - .put("35", "Wool") - .put("35:1", "Orange Wool") - .put("35:2", "Magenta Wool") - .put("35:3", "Light Blue Wool") - .put("35:4", "Yellow Wool") - .put("35:5", "Lime Wool") - .put("35:6", "Pink Wool") - .put("35:7", "Gray Wool") - .put("35:8", "Light Gray Wool") - .put("35:9", "Cyan Wool") - .put("35:10", "Purple Wool") - .put("35:11", "Blue Wool") - .put("35:12", "Brown Wool") - .put("35:13", "Green Wool") - .put("35:14", "Red Wool") - .put("35:15", "Black Wool") - .put("37", "Dandelion") - .put("38", "Rose") - .put("38:1", "Blue Orchid") - .put("38:2", "Allium") - .put("38:3", "Azure Bluet") - .put("38:4", "Red Tulip") - .put("38:5", "Orange Tulip") - .put("38:6", "White Tulip") - .put("38:7", "Pink Tulip") - .put("38:8", "Oxeye Daisy") - .put("39", "Brown Mushroom") - .put("40", "Red Mushroom") - .put("41", "Gold Block") - .put("42", "Iron Block") - .put("43", "Stone Slab (Double)") - .put("43:1", "Sandstone Slab (Double)") - .put("43:2", "Wooden Slab (Double)") - .put("43:3", "Cobblestone Slab (Double)") - .put("43:4", "Brick Slab (Double)") - .put("43:5", "Stone Brick Slab (Double)") - .put("43:6", "Nether Brick Slab (Double)") - .put("43:7", "Quartz Slab (Double)") - .put("43:8", "Smooth Stone Slab (Double)") - .put("43:9", "Smooth Sandstone Slab (Double)") - .put("44", "Stone Slab") - .put("44:1", "Sandstone Slab") - .put("44:2", "Wooden Slab") - .put("44:3", "Cobblestone Slab") - .put("44:4", "Brick Slab") - .put("44:5", "Stone Brick Slab") - .put("44:6", "Nether Brick Slab") - .put("44:7", "Quartz Slab") - .put("45", "Brick") - .put("46", "TNT") - .put("47", "Bookcase") - .put("48", "Moss Stone") - .put("49", "Obsidian") - .put("50", "Torch") - .put("51", "Fire") - .put("52", "Mob Spawner") - .put("53", "Oak Wood Stairs") - .put("54", "Chest") - .put("55", "Redstone Wire") - .put("56", "Diamond Ore") - .put("57", "Diamond Block") - .put("58", "Crafting Table") - .put("59", "Wheat (Crop)") - .put("60", "Farmland") - .put("61", "Furnace") - .put("62", "Furnace (Smelting)") - .put("63", "Sign (Block)") - .put("64", "Wood Door (Block)") - .put("65", "Ladder") - .put("66", "Rails") - .put("67", "Stone Stairs") - .put("68", "Sign (Wall Block)") - .put("69", "Lever") - .put("70", "Pressure Plate") - .put("71", "Iron Door (Block)") - .put("72", "Pressure Plate") - .put("73", "Redstone Ore") - .put("74", "Redstone Ore (Glowing)") - .put("75", "Redstone Torch (Off)") - .put("76", "Redstone Torch") - .put("77", "Button") - .put("78", "Snow") - .put("79", "Ice") - .put("80", "Snow Block") - .put("81", "Cactus") - .put("82", "Clay Block") - .put("83", "Sugar Cane (Block)") - .put("84", "Jukebox") - .put("85", "Fence") - .put("86", "Pumpkin") - .put("87", "Netherrack") - .put("88", "Soul Sand") - .put("89", "Glowstone") - .put("90", "Portal") - .put("91", "Jack-O-Lantern") - .put("92", "Cake (Block)") - .put("93", "Redstone Repeater (Block Off)") - .put("94", "Redstone Repeater (Block On)") - .put("95", "Stained Glass") - .put("96", "Wooden Trapdoor") - .put("97", "Stone Monster Egg") - .put("97:1", "Cobblestone Monster Egg") - .put("97:2", "Stone Brick Monster Egg") - .put("97:3", "Mossy Stone Brick Monster Egg") - .put("97:4", "Cracked Stone Brick Monster Egg") - .put("97:5", "Chiseled Stone Brick Monster Egg") - .put("98", "Stone Bricks") - .put("98:1", "Mossy Stone Bricks") - .put("98:2", "Cracked Stone Bricks") - .put("98:3", "Chiseled Stone Bricks") - .put("99", "Brown Mushroom (Block)") - .put("100", "Red Mushroom (Block)") - .put("101", "Iron Bars") - .put("102", "Glass Pane") - .put("103", "Melon (Block)") - .put("104", "Pumpkin Vine") - .put("105", "Melon Vine") - .put("106", "Vines") - .put("107", "Fence Gate") - .put("108", "Brick Stairs") - .put("109", "Stone Brick Stairs") - .put("110", "Mycelium") - .put("111", "Lily Pad") - .put("112", "Nether Brick") - .put("113", "Nether Brick Fence") - .put("114", "Nether Brick Stairs") - .put("115", "Nether Wart") - .put("116", "Enchantment Table") - .put("117", "Brewing Stand (Block)") - .put("118", "Cauldron (Block)") - .put("119", "End Portal") - .put("120", "End Portal Frame") - .put("121", "End Stone") - .put("122", "Dragon Egg") - .put("123", "Redstone Lamp (Inactive)") - .put("124", "Redstone Lamp (Active)") - .put("125", "Double Wood Slab") - .put("126", "Oak Wood Slab") - .put("126:1", "Spruce Wood Slab") - .put("126:2", "Birch Slab") - .put("126:3", "Jungle Slab") - .put("126:4", "Acacia Wood Slab") - .put("126:5", "Dark Oak Wood Slab") - .put("127", "Cocoa Plant") - .put("128", "Sandstone Stairs") - .put("129", "Emerald Ore") - .put("130", "Ender Chest") - .put("131", "Tripwire Hook") - .put("132", "Tripwire") - .put("133", "Emerald Block") - .put("134", "Spruce Wood Stairs") - .put("135", "Birch Wood Stairs") - .put("136", "Jungle Wood Stairs") - .put("137", "Command Block") - .put("138", "Beacon Block") - .put("139", "Cobblestone Wall") - .put("139:1", "Mossy Cobblestone Wall") - .put("140", "Flower Pot") - .put("141", "Carrots") - .put("142", "Potatoes") - .put("143", "Button") - .put("144", "Head") - .put("145", "Anvil") - .put("146", "Trapped Chest") - .put("147", "Weighted Pressure Plate (Light)") - .put("148", "Weighted Pressure Plate (Heavy)") - .put("149", "Redstone Comparator (inactive)") - .put("150", "Redstone Comparator (active)") - .put("151", "Daylight Sensor") - .put("152", "Redstone Block") - .put("153", "Nether Quartz Ore") - .put("154", "Hopper") - .put("155", "Quartz Block") - .put("155:1", "Chiseled Quartz Block") - .put("155:2", "Pillar Quartz Block") - .put("156", "Quartz Stairs") - .put("157", "Activator Rail") - .put("158", "Dropper") - .put("159", "Stained Clay") - .put("160", "Stained Glass Pane") - .put("161", "Acacia Leaves") - .put("161:1", "Dark Oak Leaves") - .put("162", "Acacia Wood") - .put("162:1", "Dark Oak Wood") - .put("163", "Acacia Wood Stairs") - .put("164", "Dark Oak Wood Stairs") - .put("165", "Slime Block") - .put("166", "Barrier") - .put("167", "Iron Trapdoor") - .put("168", "Prismarine") - .put("168:1", "Prismarine Bricks") - .put("168:2", "Dark Prismarine") - .put("169", "Sea Lantern") - .put("170", "Hay Block") - .put("171", "Carpet") - .put("172", "Hardened Clay") - .put("173", "Block of Coal") - .put("174", "Packed Ice") - .put("175", "Sunflower") - .put("175:1", "Lilac") - .put("175:2", "Double Tallgrass") - .put("175:3", "Large Fern") - .put("175:4", "Rose Bush") - .put("175:5", "Peony") - .put("178", "Daylight Sensor (Inverted)") - .put("179", "Red Sandstone") - .put("179:1", "Chiseled Red Sandstone") - .put("179:2", "Smooth Red Sandstone") - .put("180", "Red Sandstone Stairs") - .put("182", "Red Sandstone Slab") - .put("183", "Spruce Fence Gate") - .put("184", "Birch Fence Gate") - .put("185", "Jungle Fence Gate") - .put("186", "Dark Oak Fence Gate") - .put("187", "Acacia Fence Gate") - .put("188", "Spruce Fence") - .put("189", "Birch Fence") - .put("190", "Jungle Fence") - .put("191", "Dark Oak Fence") - .put("192", "Acacia Fence") - .put("198", "End Rod") - .put("199", "Chorus Plant") - .put("200", "Chorus Flower") - .put("201", "Purpur Block") - .put("202", "Purpur Pillar") - .put("203", "Purpur Stairs") - .put("204", "Purpur Slab (Double)") - .put("205", "Purpur Slab") - .put("206", "End Stone Bricks") - .put("208", "Grass Path") - .put("209", "End Gateway") - .put("210", "Repeating Command Block") - .put("211", "Chain Command Block") - .put("212", "Frosted Ice") - .put("213", "Magma Block") - .put("214", "Nether Wart Block") - .put("215", "Red Nether Brick") - .put("216", "Bone Block") - .put("217", "Structure Void") - .put("255", "Structure Block") - .put("256", "Iron Shovel") - .put("257", "Iron Pickaxe") - .put("258", "Iron Axe") - .put("259", "Flint and Steel") - .put("260", "Apple") - .put("261", "Bow") - .put("262", "Arrow") - .put("263", "Coal") - .put("263:1", "Charcoal") - .put("264", "Diamond") - .put("265", "Iron Ingot") - .put("266", "Gold Ingot") - .put("267", "Iron Sword") - .put("268", "Wooden Sword") - .put("269", "Wooden Shovel") - .put("270", "Wooden Pickaxe") - .put("271", "Wooden Axe") - .put("272", "Stone Sword") - .put("273", "Stone Shovel") - .put("274", "Stone Pickaxe") - .put("275", "Stone Axe") - .put("276", "Diamond Sword") - .put("277", "Diamond Shovel") - .put("278", "Diamond Pickaxe") - .put("279", "Diamond Axe") - .put("280", "Stick") - .put("281", "Bowl") - .put("282", "Mushroom Stew") - .put("283", "Gold Sword") - .put("284", "Gold Shovel") - .put("285", "Gold Pickaxe") - .put("286", "Gold Axe") - .put("287", "String") - .put("288", "Feather") - .put("289", "Gunpowder") - .put("290", "Wooden Hoe") - .put("291", "Stone Hoe") - .put("292", "Iron Hoe") - .put("293", "Diamond Hoe") - .put("294", "Gold Hoe") - .put("295", "Seeds") - .put("296", "Wheat") - .put("297", "Bread") - .put("298", "Leather Helmet") - .put("299", "Leather Chestplate") - .put("300", "Leather Leggings") - .put("301", "Leather Boots") - .put("302", "Chainmail Helmet") - .put("303", "Chainmail Chestplate") - .put("304", "Chainmail Leggings") - .put("305", "Chainmail Boots") - .put("306", "Iron Helmet") - .put("307", "Iron Chestplate") - .put("308", "Iron Leggings") - .put("309", "Iron Boots") - .put("310", "Diamond Helmet") - .put("311", "Diamond Chestplate") - .put("312", "Diamond Leggings") - .put("313", "Diamond Boots") - .put("314", "Gold Helmet") - .put("315", "Gold Chestplate") - .put("316", "Gold Leggings") - .put("317", "Gold Boots") - .put("318", "Flint") - .put("319", "Raw Porkchop") - .put("320", "Cooked Porkchop") - .put("321", "Painting") - .put("322", "Gold Apple") - .put("322:1", "Gold Apple (Enchanted)") - .put("323", "Sign") - .put("324", "Wooden Door") - .put("325", "Bucket") - .put("326", "Water Bucket") - .put("327", "Lava Bucket") - .put("328", "Minecart") - .put("329", "Saddle") - .put("330", "Iron Door") - .put("331", "Redstone") - .put("332", "Snowball") - .put("333", "Boat") - .put("334", "Leather") - .put("335", "Milk Bucket") - .put("336", "Brick") - .put("337", "Clay") - .put("338", "Sugar Cane") - .put("339", "Paper") - .put("340", "Book") - .put("341", "Slime Ball") - .put("342", "Storage Minecart") - .put("343", "Powered Minecart") - .put("344", "Egg") - .put("345", "Compass") - .put("346", "Fishing Rod") - .put("347", "Watch") - .put("348", "Glowstone Dust") - .put("349", "Raw Fish") - .put("349:1", "Raw Salmon") - .put("349:2", "Clownfish") - .put("349:3", "Pufferfish") - .put("350", "Cooked Fish") - .put("350:1", "Cooked Salmon") - .put("351", "Ink Sac") - .put("351:1", "Rose Red") - .put("351:2", "Cactus Green") - .put("351:3", "Cocoa Bean") - .put("351:4", "Lapis Lazuli") - .put("351:5", "Purple Dye") - .put("351:6", "Cyan Dye") - .put("351:7", "Light Gray Dye") - .put("351:8", "Gray Dye") - .put("351:9", "Pink Dye") - .put("351:10", "Lime Dye") - .put("351:11", "Dandelion Yellow") - .put("351:12", "Light Blue Dye") - .put("351:13", "Magenta Dye") - .put("351:14", "Orange Dye") - .put("351:15", "Bone Meal") - .put("352", "Bone") - .put("353", "Sugar") - .put("354", "Cake") - .put("355", "Bed") - .put("356", "Redstone Repeater") - .put("357", "Cookie") - .put("358", "Map") - .put("359", "Shears") - .put("360", "Melon") - .put("361", "Pumpkin Seeds") - .put("362", "Melon Seeds") - .put("363", "Raw Beef") - .put("364", "Steak") - .put("365", "Raw Chicken") - .put("366", "Roast Chicken") - .put("367", "Rotten Flesh") - .put("368", "Ender Pearl") - .put("369", "Blaze Rod") - .put("370", "Ghast Tear") - .put("371", "Gold Nugget") - .put("372", "Nether Wart") - .put("373", "Water Bottle") - .put("373:16", "Awkward Potion") - .put("373:32", "Thick Potion") - .put("373:64", "Mundane Potion") - .put("373:8193", "Regeneration Potion (0:45)") - .put("373:8194", "Swiftness Potion (3:00)") - .put("373:8195", "Fire Resistance Potion (3:00)") - .put("373:8196", "Poison Potion (0:45)") - .put("373:8197", "Healing Potion") - .put("373:8200", "Weakness Potion (1:30)") - .put("373:8201", "Strength Potion (3:00)") - .put("373:8202", "Slowness Potion (1:30)") - .put("373:8203", "Potion of Leaping (3:00)") - .put("373:8204", "Harming Potion") - .put("373:8225", "Regeneration Potion II (0:22)") - .put("373:8226", "Swiftness Potion II (1:30)") - .put("373:8228", "Poison Potion II (0:22)") - .put("373:8229", "Healing Potion II") - .put("373:8230", "Night Vision Potion (3:00)") - .put("373:8233", "Strength Potion II (1:30)") - .put("373:8235", "Potion of Leaping (1:30)") - .put("373:8236", "Harming Potion II") - .put("373:8237", "Water Breathing Potion (3:00)") - .put("373:8238", "Invisibility Potion (3:00)") - .put("373:8257", "Regeneration Potion (2:00)") - .put("373:8258", "Swiftness Potion (8:00)") - .put("373:8259", "Fire Resistance Potion (8:00)") - .put("373:8260", "Poison Potion (2:00)") - .put("373:8262", "Night Vision Potion (8:00)") - .put("373:8264", "Weakness Potion (4:00)") - .put("373:8265", "Strength Potion (8:00)") - .put("373:8266", "Slowness Potion (4:00)") - .put("373:8269", "Water Breathing Potion (8:00)") - .put("373:8270", "Invisibility Potion (8:00)") - .put("373:16378", "Fire Resistance Splash (2:15)") - .put("373:16385", "Regeneration Splash (0:33)") - .put("373:16386", "Swiftness Splash (2:15)") - .put("373:16388", "Poison Splash (0:33)") - .put("373:16389", "Healing Splash") - .put("373:16392", "Weakness Splash (1:07)") - .put("373:16393", "Strength Splash (2:15)") - .put("373:16394", "Slowness Splash (1:07)") - .put("373:16396", "Harming Splash") - .put("373:16418", "Swiftness Splash II (1:07)") - .put("373:16420", "Poison Splash II (0:16)") - .put("373:16421", "Healing Splash II") - .put("373:16422", "Night Vision Splash (2:15)") - .put("373:16425", "Strength Splash II (1:07)") - .put("373:16428", "Harming Splash II") - .put("373:16429", "Water Breathing Splash (2:15)") - .put("373:16430", "Invisibility Splash (2:15)") - .put("373:16449", "Regeneration Splash (1:30)") - .put("373:16450", "Swiftness Splash (6:00)") - .put("373:16451", "Fire Resistance Splash (6:00)") - .put("373:16452", "Poison Splash (1:30)") - .put("373:16454", "Night Vision Splash (6:00)") - .put("373:16456", "Weakness Splash (3:00)") - .put("373:16457", "Strength Splash (6:00)") - .put("373:16458", "Slowness Splash (3:00)") - .put("373:16461", "Water Breathing Splash (6:00)") - .put("373:16462", "Invisibility Splash (6:00)") - .put("373:16471", "Regeneration Splash II (0:16)") - .put("374", "Glass Bottle") - .put("375", "Spider Eye") - .put("376", "Fermented Spider Eye") - .put("377", "Blaze Powder") - .put("378", "Magma Cream") - .put("379", "Brewing Stand") - .put("380", "Cauldron") - .put("381", "Eye of Ender") - .put("382", "Glistering Melon") - .put("383", "Spawn Egg") - .put("383:50", "Spawn Creeper") - .put("383:51", "Spawn Skeleton") - .put("383:52", "Spawn Spider") - .put("383:54", "Spawn Zombie") - .put("383:55", "Spawn Slime") - .put("383:56", "Spawn Ghast") - .put("383:57", "Spawn Pigman") - .put("383:58", "Spawn Enderman") - .put("383:59", "Spawn Cave Spider") - .put("383:60", "Spawn Silverfish") - .put("383:61", "Spawn Blaze") - .put("383:62", "Spawn Magma Cube") - .put("383:65", "Spawn Bat") - .put("383:66", "Spawn Witch") - .put("383:67", "Spawn Endermite") - .put("383:68", "Spawn Guardian") - .put("383:90", "Spawn Pig") - .put("383:91", "Spawn Sheep") - .put("383:92", "Spawn Cow") - .put("383:93", "Spawn Chicken") - .put("383:94", "Spawn Squid") - .put("383:95", "Spawn Wolf") - .put("383:96", "Spawn Mooshroom") - .put("383:98", "Spawn Ocelot") - .put("383:100", "Spawn Horse") - .put("383:101", "Spawn Rabbit") - .put("383:120", "Spawn Villager") - .put("384", "Bottle o' Enchanting") - .put("385", "Fire Charge") - .put("386", "Book and Quill") - .put("387", "Written Book") - .put("388", "Emerald") - .put("389", "Item Frame") - .put("390", "Flower Pot") - .put("391", "Carrot") - .put("392", "Potato") - .put("393", "Baked Potato") - .put("394", "Poisonous Potato") - .put("395", "Empty Map") - .put("396", "Golden Carrot") - .put("397", "Skull Item") - .put("397:0", "Skeleton Skull") - .put("397:1", "Wither Skeleton Skull") - .put("397:2", "Zombie Head") - .put("397:3", "Head") - .put("397:4", "Creeper Head") - .put("397:5", "Dragon Head") - .put("398", "Carrot on a Stick") - .put("399", "Nether Star") - .put("400", "Pumpkin Pie") - .put("401", "Firework Rocket") - .put("402", "Firework Star") - .put("403", "Enchanted Book") - .put("404", "Redstone Comparator") - .put("405", "Nether Brick") - .put("406", "Nether Quartz") - .put("407", "Minecart with TNT") - .put("408", "Minecart with Hopper") - .put("409", "Prismarine Shard") - .put("410", "Prismarine Crystals") - .put("411", "Raw Rabbit") - .put("412", "Cooked Rabbit") - .put("413", "Rabbit Stew") - .put("414", "Rabbit Foot") - .put("415", "Rabbit Hide") - .put("417", "Iron Horse Armor") - .put("418", "Gold Horse Armor") - .put("419", "Diamond Horse Armor") - .put("420", "Lead") - .put("421", "Name Tag") - .put("422", "Minecart with Command Block") - .put("423", "Raw Mutton") - .put("424", "Cooked Mutton") - .put("425", "Banner") - .put("426", "End Crystal") - .put("427", "Spruce Door") - .put("428", "Birch Door") - .put("429", "Jungle Door") - .put("430", "Acacia Door") - .put("431", "Dark Oak Door") - .put("432", "Chorus Fruit") - .put("433", "Popped Chorus Fruit") - .put("434", "Beetroot") - .put("435", "Beetroot Seeds") - .put("436", "Beetroot Soup") - .put("437", "Dragon Breath") - .put("438", "Splash Potion") - .put("439", "Spectral Arrow") - .put("440", "Tipped Arrow") - .put("441", "Lingering Potion") - .put("442", "Shield") - .put("443", "Elytra") - .put("444", "Spruce Boat") - .put("445", "Birch Boat") - .put("446", "Jungle Boat") - .put("447", "Acacia Boat") - .put("448", "Dark Oak Boat") - .put("2256", "Music Disk (13)") - .put("2257", "Music Disk (Cat)") - .put("2258", "Music Disk (Blocks)") - .put("2259", "Music Disk (Chirp)") - .put("2260", "Music Disk (Far)") - .put("2261", "Music Disk (Mall)") - .put("2262", "Music Disk (Mellohi)") - .put("2263", "Music Disk (Stal)") - .put("2264", "Music Disk (Strad)") - .put("2265", "Music Disk (Ward)") - .put("2266", "Music Disk (11)") - .put("2267", "Music Disk (wait)") - .build(); - - public static String lookup(ItemStack stack) { - if (stack.hasItemMeta()) { - ItemMeta meta = stack.getItemMeta(); - if (meta.getDisplayName() != null) { - return meta.getDisplayName(); - } else if (meta instanceof BookMeta) { - return ((BookMeta) meta).getTitle(); - } - } - - String result; - String key = Integer.toString(stack.getTypeId()); - Material mat = stack.getType(); - if ((mat == Material.WOOL || mat == Material.CARPET) && stack.getDurability() == 0) { - // special case: white wool/carpet is just called "Wool" or "Carpet" - result = map.get(key); - } else if (mat == Material.WOOL || mat == Material.CARPET || mat == Material.STAINED_CLAY || mat == Material.STAINED_GLASS || mat == Material.STAINED_GLASS_PANE || mat == Material.BANNER) { - DyeColor dc = DyeColor.getByWoolData((byte) stack.getDurability()); - result = dc == null ? map.get(key) : ColorNames.getColorString(dc) + " " + map.get(key); - } else if (mat == Material.LEATHER_HELMET || mat == Material.LEATHER_CHESTPLATE || mat == Material.LEATHER_LEGGINGS || mat == Material.LEATHER_BOOTS) { - LeatherArmorMeta leatherArmorMeta = (LeatherArmorMeta) stack.getItemMeta(); - DyeColor dc = DyeColor.getByColor(leatherArmorMeta.getColor()); - result = dc == null ? map.get(key) : ColorNames.getColorString(dc) + " " + map.get(key); - } else if (stack.getDurability() != 0) { - result = map.get(key + ":" + stack.getDurability()); - if (result == null) { - result = map.get(key); - } - } else { - result = map.containsKey(key) ? map.get(key) : stack.getType().toString(); - } - - return result; - } - -} diff --git a/src/de/epiceric/shopchest/utils/ShopUtils.java b/src/de/epiceric/shopchest/utils/ShopUtils.java index e8dd4a7..8515c5c 100644 --- a/src/de/epiceric/shopchest/utils/ShopUtils.java +++ b/src/de/epiceric/shopchest/utils/ShopUtils.java @@ -4,15 +4,13 @@ import de.epiceric.shopchest.ShopChest; import de.epiceric.shopchest.config.Config; import de.epiceric.shopchest.shop.Shop; import de.epiceric.shopchest.sql.Database; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.Chest; import org.bukkit.block.DoubleChest; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Item; import org.bukkit.entity.Player; -import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.inventory.InventoryHolder; import java.util.ArrayList; @@ -23,15 +21,12 @@ import java.util.UUID; public class ShopUtils { private static HashMap shopLocation = new HashMap<>(); + private static ShopChest plugin = ShopChest.getInstance(); public static Shop getShop(Location location) { Location newLocation = new Location(location.getWorld(), location.getX(), location.getY(), location.getZ()); - if (shopLocation.containsKey(newLocation)) { - return shopLocation.get(newLocation); - } else { - return null; - } + return shopLocation.get(newLocation); } public static boolean isShop(Location location) { @@ -69,7 +64,7 @@ public class ShopUtils { } if (addToDatabase) - ShopChest.database.addShop(shop); + plugin.getShopDatabase().addShop(shop); } } @@ -96,20 +91,20 @@ public class ShopUtils { shop.removeHologram(); if (removeFromDatabase) - ShopChest.database.removeShop(shop); + plugin.getShopDatabase().removeShop(shop); } } public static int getShopLimit(Player p) { - int limit = Config.default_limit(); + int limit = Config.default_limit; - if (ShopChest.perm.hasGroupSupport()) { + if (plugin.getPermission().hasGroupSupport()) { List groups = new ArrayList(); - for (String key : Config.shopLimits_group()) { - for (int i = 0; i < ShopChest.perm.getGroups().length; i++) { - if (ShopChest.perm.getGroups()[i].equals(key)) { - if (ShopChest.perm.playerInGroup(p, key)) { + for (String key : Config.shopLimits_group) { + for (int i = 0; i < plugin.getPermission().getGroups().length; i++) { + if (plugin.getPermission().getGroups()[i].equals(key)) { + if (plugin.getPermission().playerInGroup(p, key)) { groups.add(key); } } @@ -137,7 +132,7 @@ public class ShopUtils { } } - for (String key : Config.shopLimits_player()) { + for (String key : Config.shopLimits_player) { int pLimit = ShopChest.getInstance().getConfig().getInt("shop-limits.player." + key); if (Utils.isUUID(key)) { if (p.getUniqueId().equals(UUID.fromString(key))) { @@ -163,16 +158,27 @@ public class ShopUtils { return shopCount; } - public static void reloadShops(Player player) { + public static int reloadShops() { for (Shop shop : ShopUtils.getShops()) { ShopUtils.removeShop(shop, false); } + for (World world : Bukkit.getWorlds()) { + for (Entity entity : world.getEntities()) { + if (entity instanceof Item) { + Item item = (Item) entity; + if (item.hasMetadata("shopItem")) { + item.remove(); + } + } + } + } + int count = 0; - for (int id = 1; id < ShopChest.database.getHighestID() + 1; id++) { + for (int id = 1; id < plugin.getShopDatabase().getHighestID() + 1; id++) { try { - Shop shop = (Shop) ShopChest.database.get(id, Database.ShopInfo.SHOP); + Shop shop = (Shop) plugin.getShopDatabase().get(id, Database.ShopInfo.SHOP); ShopUtils.addShop(shop, false); } catch (NullPointerException e) { continue; @@ -181,10 +187,6 @@ public class ShopUtils { count++; } - if (player != null) player.sendMessage(Config.reloaded_shops(count)); - - for (Player p : Bukkit.getOnlinePlayers()) { - Bukkit.getPluginManager().callEvent(new PlayerMoveEvent(p, p.getLocation(), p.getLocation())); - } + return count; } } diff --git a/src/de/epiceric/shopchest/utils/UpdateChecker.java b/src/de/epiceric/shopchest/utils/UpdateChecker.java index bb65b74..5afa653 100644 --- a/src/de/epiceric/shopchest/utils/UpdateChecker.java +++ b/src/de/epiceric/shopchest/utils/UpdateChecker.java @@ -1,9 +1,11 @@ package de.epiceric.shopchest.utils; import de.epiceric.shopchest.ShopChest; -import org.jsoup.Connection; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; public class UpdateChecker { @@ -19,39 +21,54 @@ public class UpdateChecker { public UpdateCheckerResult updateNeeded() { try { - Connection con = Jsoup.connect("http://textuploader.com/all1l/raw"); - con.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"); + URL url = new URL("http://textuploader.com/all1l/raw"); + URLConnection conn = url.openConnection(); + conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"); + conn.connect(); - Document doc = con.get(); + InputStreamReader isr = new InputStreamReader(conn.getInputStream()); + BufferedReader br = new BufferedReader(isr); - version = doc.text().split("\\|")[0]; - link = url + "download?version=" + doc.text().split("\\|")[1]; + String line = br.readLine(); + + isr.close(); + br.close(); + + version = line.split("\\|")[0]; + link = url + "download?version=" + line.split("\\|")[1]; if (plugin.getDescription().getVersion().equals(version)) return UpdateCheckerResult.FALSE; else return UpdateCheckerResult.TRUE; - } catch (Exception | Error e) { + } catch (Exception e) { return UpdateCheckerResult.ERROR; } } public String[] getBroadcast() { try { - Connection con = Jsoup.connect("http://textuploader.com/5b51f/raw"); - con.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"); + URL url = new URL("http://textuploader.com/5b51f/raw"); + URLConnection conn = url.openConnection(); + conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"); + conn.connect(); - Document doc = con.get(); + InputStreamReader isr = new InputStreamReader(conn.getInputStream()); + BufferedReader br = new BufferedReader(isr); - String broadcast = doc.text(); + String line = br.readLine(); - String[] messages = broadcast.split("#n"); + isr.close(); + br.close(); - if (!broadcast.equals("/")) + String[] messages = line.split("#n"); + + if (!line.equals("/")) return messages; } catch (Exception | Error e) { + e.printStackTrace(); } return null; diff --git a/src/de/epiceric/shopchest/utils/Utils.java b/src/de/epiceric/shopchest/utils/Utils.java index 0b7e3e4..3b44226 100644 --- a/src/de/epiceric/shopchest/utils/Utils.java +++ b/src/de/epiceric/shopchest/utils/Utils.java @@ -2,17 +2,12 @@ package de.epiceric.shopchest.utils; import org.apache.commons.codec.binary.Base64; import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.Server; import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; -import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; -import java.util.HashMap; public class Utils { @@ -22,7 +17,7 @@ public class Utils { ArrayList inventoryItems = new ArrayList<>(); if (inventory instanceof PlayerInventory) { - if (getVersion(Bukkit.getServer()).contains("1_9")) { + if (getMajorVersion() >= 9) { inventoryItems.add(inventory.getItem(40)); } @@ -47,12 +42,16 @@ public class Utils { return amount; } - public static String getVersion(Server server) { - String packageName = server.getClass().getPackage().getName(); + public static String getServerVersion() { + String packageName = Bukkit.getServer().getClass().getPackage().getName(); return packageName.substring(packageName.lastIndexOf('.') + 1); } + public static int getMajorVersion() { + return Integer.valueOf(getServerVersion().split("_")[1]); + } + public static boolean isUUID(String string) { return string.matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[34][0-9a-fA-F]{3}-[89ab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}"); }