From 9a23f806fe685fe81fa32d6da1661030e121cce8 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Wed, 25 Nov 2020 15:24:24 -0500 Subject: [PATCH] Refactor Project to Gradle (#3720) Gradle is better than Maven, don't @ me. okay but actually it's [faster](https://www.youtube.com/watch?v=atuFSv2bLa8&feature=youtu.be&t=77), compiles and tests in parallel more efficiently, and more epic stuff). --- .checkstyle/checkstyle.xml | 2 +- .github/workflows/build.yml | 42 +- .gitignore | 5 +- .idea/checkstyle-idea.xml | 2 +- Essentials/build.gradle | 29 + Essentials/pom.xml | 118 ---- .../AlternativeCommandsHandler.java | 1 - .../earth2me/essentials/AsyncTeleport.java | 7 + .../essentials/AsyncTimedTeleport.java | 0 .../java}/com/earth2me/essentials/Backup.java | 0 .../earth2me/essentials/ChargeException.java | 0 .../earth2me/essentials/CommandSource.java | 0 .../com/earth2me/essentials/Console.java | 0 .../com/earth2me/essentials/Enchantments.java | 0 .../com/earth2me/essentials/Essentials.java | 0 .../essentials/EssentialsBlockListener.java | 0 .../earth2me/essentials/EssentialsConf.java | 0 .../essentials/EssentialsEntityListener.java | 0 .../essentials/EssentialsPlayerListener.java | 0 .../essentials/EssentialsPluginListener.java | 0 .../essentials/EssentialsServerListener.java | 0 .../earth2me/essentials/EssentialsTimer.java | 0 .../essentials/EssentialsUpgrade.java | 0 .../essentials/EssentialsUserConf.java | 0 .../com/earth2me/essentials/ExecuteTimer.java | 0 .../java}/com/earth2me/essentials/I18n.java | 0 .../java}/com/earth2me/essentials/IConf.java | 0 .../com/earth2me/essentials/IEssentials.java | 0 .../essentials/IEssentialsModule.java | 0 .../com/earth2me/essentials/ISettings.java | 0 .../com/earth2me/essentials/ITarget.java | 0 .../java}/com/earth2me/essentials/IUser.java | 0 .../java}/com/earth2me/essentials/Jails.java | 0 .../java}/com/earth2me/essentials/Kit.java | 0 .../java}/com/earth2me/essentials/Kits.java | 0 .../earth2me/essentials/LocationTarget.java | 0 .../com/earth2me/essentials/ManagedFile.java | 0 .../earth2me/essentials/MetaItemStack.java | 0 .../java}/com/earth2me/essentials/Mob.java | 0 .../com/earth2me/essentials/MobCompat.java | 0 .../com/earth2me/essentials/MobData.java | 0 .../earth2me/essentials/PlayerExtension.java | 0 .../com/earth2me/essentials/PlayerList.java | 2 +- .../com/earth2me/essentials/PlayerTarget.java | 0 .../com/earth2me/essentials/Potions.java | 0 .../earth2me/essentials/RandomTeleport.java | 0 .../com/earth2me/essentials/Settings.java | 0 .../com/earth2me/essentials/SpawnMob.java | 0 .../essentials/TNTExplodeListener.java | 0 .../com/earth2me/essentials/Teleport.java | 0 .../earth2me/essentials/TimedTeleport.java | 0 .../java}/com/earth2me/essentials/Trade.java | 0 .../com/earth2me/essentials/UUIDMap.java | 0 .../java}/com/earth2me/essentials/User.java | 0 .../com/earth2me/essentials/UserData.java | 0 .../com/earth2me/essentials/UserMap.java | 0 .../java}/com/earth2me/essentials/Warps.java | 0 .../java}/com/earth2me/essentials/Worth.java | 0 .../com/earth2me/essentials/api/Economy.java | 0 .../essentials/api/IAsyncTeleport.java | 9 + .../com/earth2me/essentials/api/II18n.java | 0 .../com/earth2me/essentials/api/IItemDb.java | 0 .../com/earth2me/essentials/api/IJails.java | 0 .../com/earth2me/essentials/api/IReload.java | 0 .../earth2me/essentials/api/ITeleport.java | 0 .../com/earth2me/essentials/api/IWarps.java | 10 +- .../essentials/api/InvalidNameException.java | 0 .../essentials/api/InvalidWorldException.java | 0 .../api/NoLoanPermittedException.java | 0 .../api/UserDoesNotExistException.java | 0 .../essentials/commands/Commandafk.java | 0 .../essentials/commands/Commandantioch.java | 0 .../essentials/commands/Commandanvil.java | 0 .../essentials/commands/Commandback.java | 0 .../essentials/commands/Commandbackup.java | 0 .../essentials/commands/Commandbalance.java | 0 .../commands/Commandbalancetop.java | 0 .../essentials/commands/Commandban.java | 0 .../essentials/commands/Commandbanip.java | 0 .../essentials/commands/Commandbeezooka.java | 0 .../essentials/commands/Commandbigtree.java | 0 .../essentials/commands/Commandbook.java | 0 .../essentials/commands/Commandbreak.java | 0 .../essentials/commands/Commandbroadcast.java | 0 .../commands/Commandbroadcastworld.java | 0 .../essentials/commands/Commandburn.java | 0 .../commands/Commandcartographytable.java | 0 .../commands/Commandclearinventory.java | 0 .../Commandclearinventoryconfirmtoggle.java | 0 .../essentials/commands/Commandcompass.java | 0 .../essentials/commands/Commandcondense.java | 0 .../essentials/commands/Commandcreatekit.java | 0 .../commands/Commandcustomtext.java | 0 .../essentials/commands/Commanddelhome.java | 0 .../essentials/commands/Commanddeljail.java | 0 .../essentials/commands/Commanddelkit.java | 0 .../essentials/commands/Commanddelwarp.java | 0 .../essentials/commands/Commanddepth.java | 0 .../essentials/commands/Commanddisposal.java | 0 .../essentials/commands/Commandeco.java | 0 .../essentials/commands/Commandeditsign.java | 0 .../essentials/commands/Commandenchant.java | 0 .../commands/Commandenderchest.java | 0 .../commands/Commandessentials.java | 0 .../essentials/commands/Commandexp.java | 0 .../essentials/commands/Commandext.java | 0 .../essentials/commands/Commandfeed.java | 0 .../essentials/commands/Commandfireball.java | 0 .../essentials/commands/Commandfirework.java | 0 .../essentials/commands/Commandfly.java | 0 .../essentials/commands/Commandgamemode.java | 0 .../essentials/commands/Commandgc.java | 0 .../essentials/commands/Commandgetpos.java | 0 .../essentials/commands/Commandgive.java | 0 .../essentials/commands/Commandgod.java | 0 .../commands/Commandgrindstone.java | 0 .../essentials/commands/Commandhat.java | 0 .../essentials/commands/Commandheal.java | 0 .../essentials/commands/Commandhelp.java | 0 .../essentials/commands/Commandhelpop.java | 0 .../essentials/commands/Commandhome.java | 0 .../essentials/commands/Commandignore.java | 0 .../essentials/commands/Commandinfo.java | 0 .../essentials/commands/Commandinvsee.java | 0 .../essentials/commands/Commanditem.java | 0 .../essentials/commands/Commanditemdb.java | 0 .../essentials/commands/Commanditemlore.java | 0 .../essentials/commands/Commanditemname.java | 0 .../essentials/commands/Commandjails.java | 0 .../essentials/commands/Commandjump.java | 0 .../essentials/commands/Commandkick.java | 0 .../essentials/commands/Commandkickall.java | 0 .../essentials/commands/Commandkill.java | 0 .../essentials/commands/Commandkit.java | 0 .../commands/Commandkittycannon.java | 0 .../essentials/commands/Commandlightning.java | 0 .../essentials/commands/Commandlist.java | 0 .../essentials/commands/Commandloom.java | 0 .../essentials/commands/Commandmail.java | 0 .../essentials/commands/Commandme.java | 0 .../essentials/commands/Commandmore.java | 0 .../essentials/commands/Commandmotd.java | 0 .../essentials/commands/Commandmsg.java | 0 .../essentials/commands/Commandmsgtoggle.java | 0 .../essentials/commands/Commandmute.java | 0 .../essentials/commands/Commandnear.java | 0 .../essentials/commands/Commandnick.java | 2 +- .../essentials/commands/Commandnuke.java | 0 .../essentials/commands/Commandpay.java | 0 .../commands/Commandpayconfirmtoggle.java | 0 .../essentials/commands/Commandpaytoggle.java | 0 .../essentials/commands/Commandping.java | 0 .../essentials/commands/Commandpotion.java | 0 .../essentials/commands/Commandpowertool.java | 0 .../commands/Commandpowertooltoggle.java | 0 .../essentials/commands/Commandptime.java | 0 .../essentials/commands/Commandpweather.java | 0 .../essentials/commands/Commandr.java | 0 .../essentials/commands/Commandrealname.java | 0 .../essentials/commands/Commandrecipe.java | 0 .../essentials/commands/Commandremove.java | 0 .../essentials/commands/Commandrepair.java | 0 .../essentials/commands/Commandrest.java | 0 .../essentials/commands/Commandrtoggle.java | 0 .../essentials/commands/Commandrules.java | 0 .../essentials/commands/Commandseen.java | 0 .../essentials/commands/Commandsell.java | 0 .../essentials/commands/Commandsethome.java | 0 .../essentials/commands/Commandsetjail.java | 0 .../essentials/commands/Commandsettpr.java | 0 .../essentials/commands/Commandsetwarp.java | 0 .../essentials/commands/Commandsetworth.java | 0 .../essentials/commands/Commandshowkit.java | 0 .../essentials/commands/Commandskull.java | 0 .../commands/Commandsmithingtable.java | 0 .../essentials/commands/Commandsocialspy.java | 0 .../essentials/commands/Commandspawner.java | 0 .../essentials/commands/Commandspawnmob.java | 0 .../essentials/commands/Commandspeed.java | 0 .../commands/Commandstonecutter.java | 0 .../essentials/commands/Commandsudo.java | 0 .../essentials/commands/Commandsuicide.java | 0 .../essentials/commands/Commandtempban.java | 0 .../essentials/commands/Commandtempbanip.java | 0 .../essentials/commands/Commandthunder.java | 0 .../essentials/commands/Commandtime.java | 0 .../commands/Commandtogglejail.java | 0 .../essentials/commands/Commandtop.java | 0 .../essentials/commands/Commandtp.java | 0 .../essentials/commands/Commandtpa.java | 0 .../essentials/commands/Commandtpaall.java | 0 .../essentials/commands/Commandtpacancel.java | 0 .../essentials/commands/Commandtpaccept.java | 0 .../essentials/commands/Commandtpahere.java | 0 .../essentials/commands/Commandtpall.java | 0 .../essentials/commands/Commandtpauto.java | 0 .../essentials/commands/Commandtpdeny.java | 0 .../essentials/commands/Commandtphere.java | 0 .../essentials/commands/Commandtpo.java | 0 .../essentials/commands/Commandtpoffline.java | 0 .../essentials/commands/Commandtpohere.java | 0 .../essentials/commands/Commandtppos.java | 0 .../essentials/commands/Commandtpr.java | 0 .../essentials/commands/Commandtptoggle.java | 0 .../essentials/commands/Commandtree.java | 0 .../essentials/commands/Commandunban.java | 0 .../essentials/commands/Commandunbanip.java | 0 .../essentials/commands/Commandunlimited.java | 0 .../essentials/commands/Commandvanish.java | 0 .../essentials/commands/Commandwarp.java | 0 .../essentials/commands/Commandweather.java | 0 .../essentials/commands/Commandwhois.java | 0 .../essentials/commands/Commandworkbench.java | 0 .../essentials/commands/Commandworld.java | 0 .../essentials/commands/Commandworth.java | 0 .../commands/EssentialsCommand.java | 0 .../commands/EssentialsLoopCommand.java | 0 .../commands/EssentialsToggleCommand.java | 0 .../commands/IEssentialsCommand.java | 0 .../commands/NoChargeException.java | 0 .../commands/NotEnoughArgumentsException.java | 0 .../commands/PlayerExemptException.java | 0 .../commands/PlayerNotFoundException.java | 0 .../commands/QuietAbortException.java | 0 .../commands/WarpNotFoundException.java | 0 .../essentials/craftbukkit/BanLookup.java | 0 .../essentials/craftbukkit/FakeWorld.java | 0 .../craftbukkit/InventoryWorkaround.java | 0 .../essentials/craftbukkit/SetExpFix.java | 0 .../essentials/items/AbstractItemDb.java | 0 .../essentials/items/CustomItemResolver.java | 0 .../earth2me/essentials/items/FlatItemDb.java | 0 .../essentials/items/LegacyItemDb.java | 0 .../messaging/IMessageRecipient.java | 6 +- .../messaging/SimpleMessageRecipient.java | 4 +- .../earth2me/essentials/metrics/Metrics.java | 0 .../essentials/metrics/MetricsWrapper.java | 0 .../essentials/perm/IPermissionsHandler.java | 0 .../essentials/perm/PermissionsDefaults.java | 0 .../essentials/perm/PermissionsHandler.java | 0 .../perm/impl/AbstractVaultHandler.java | 0 .../perm/impl/ConfigPermissionsHandler.java | 0 .../perm/impl/GenericVaultHandler.java | 0 .../perm/impl/LuckPermsHandler.java | 0 .../perm/impl/ModernVaultHandler.java | 0 .../perm/impl/SuperpermsHandler.java | 2 +- .../essentials/register/payment/Method.java | 10 +- .../essentials/register/payment/Methods.java | 18 +- .../register/payment/methods/VaultEco.java | 0 .../earth2me/essentials/settings/Jails.java | 0 .../earth2me/essentials/settings/Spawns.java | 0 .../essentials/signs/EssentialsSign.java | 0 .../essentials/signs/SignBalance.java | 0 .../essentials/signs/SignBlockListener.java | 0 .../earth2me/essentials/signs/SignBuy.java | 0 .../essentials/signs/SignDisposal.java | 0 .../essentials/signs/SignEnchant.java | 0 .../essentials/signs/SignEntityListener.java | 0 .../essentials/signs/SignException.java | 0 .../earth2me/essentials/signs/SignFree.java | 0 .../essentials/signs/SignGameMode.java | 0 .../earth2me/essentials/signs/SignHeal.java | 0 .../earth2me/essentials/signs/SignInfo.java | 0 .../earth2me/essentials/signs/SignKit.java | 0 .../earth2me/essentials/signs/SignMail.java | 0 .../essentials/signs/SignPlayerListener.java | 0 .../essentials/signs/SignProtection.java | 0 .../earth2me/essentials/signs/SignRepair.java | 0 .../earth2me/essentials/signs/SignSell.java | 0 .../essentials/signs/SignSpawnmob.java | 0 .../earth2me/essentials/signs/SignTime.java | 0 .../earth2me/essentials/signs/SignTrade.java | 0 .../earth2me/essentials/signs/SignWarp.java | 0 .../essentials/signs/SignWeather.java | 0 .../com/earth2me/essentials/signs/Signs.java | 0 .../AbstractDelayedYamlFileReader.java | 0 .../AbstractDelayedYamlFileWriter.java | 0 .../storage/AsyncStorageObjectHolder.java | 0 .../essentials/storage/BukkitConstructor.java | 0 .../earth2me/essentials/storage/Comment.java | 0 .../essentials/storage/EnchantmentLevel.java | 0 .../storage/IStorageObjectHolder.java | 0 .../essentials/storage/IStorageReader.java | 0 .../essentials/storage/IStorageWriter.java | 0 .../earth2me/essentials/storage/ListType.java | 0 .../essentials/storage/MapKeyType.java | 0 .../essentials/storage/MapValueType.java | 0 .../storage/ObjectLoadException.java | 0 .../essentials/storage/StorageObject.java | 0 .../essentials/storage/YamlStorageReader.java | 0 .../essentials/storage/YamlStorageWriter.java | 0 .../essentials/textreader/BookInput.java | 0 .../essentials/textreader/BookPager.java | 6 +- .../essentials/textreader/HelpInput.java | 0 .../earth2me/essentials/textreader/IText.java | 0 .../textreader/KeywordReplacer.java | 0 .../textreader/SimpleTextInput.java | 0 .../textreader/SimpleTextPager.java | 0 .../essentials/textreader/TextInput.java | 0 .../essentials/textreader/TextPager.java | 0 .../earth2me/essentials/utils/DateUtil.java | 0 .../essentials/utils/DescParseTickFormat.java | 2 +- .../earth2me/essentials/utils/EnumUtil.java | 0 .../earth2me/essentials/utils/FloatUtil.java | 0 .../earth2me/essentials/utils/FormatUtil.java | 14 +- .../essentials/utils/LocationUtil.java | 0 .../essentials/utils/MaterialUtil.java | 0 .../earth2me/essentials/utils/NumberUtil.java | 0 .../earth2me/essentials/utils/StringUtil.java | 1 + .../essentials/utils/VersionUtil.java | 0 .../{ => main/java}/net/ess3/api/Economy.java | 0 .../java}/net/ess3/api/IEssentials.java | 2 +- .../{ => main/java}/net/ess3/api/II18n.java | 0 .../{ => main/java}/net/ess3/api/IItemDb.java | 0 .../{ => main/java}/net/ess3/api/IJails.java | 0 .../{ => main/java}/net/ess3/api/IReload.java | 0 .../java}/net/ess3/api/ISettings.java | 0 .../java}/net/ess3/api/ITeleport.java | 0 .../{ => main/java}/net/ess3/api/IUser.java | 0 .../{ => main/java}/net/ess3/api/IWarps.java | 0 .../net/ess3/api/InvalidNameException.java | 0 .../net/ess3/api/InvalidWorldException.java | 0 .../java}/net/ess3/api/MaxMoneyException.java | 0 .../ess3/api/NoLoanPermittedException.java | 0 .../java}/net/ess3/api/PluginKey.java | 0 .../ess3/api/UserDoesNotExistException.java | 0 .../ess3/api/events/AfkStatusChangeEvent.java | 0 .../ess3/api/events/FlyStatusChangeEvent.java | 0 .../ess3/api/events/GodStatusChangeEvent.java | 0 .../api/events/IgnoreStatusChangeEvent.java | 0 .../api/events/JailStatusChangeEvent.java | 0 .../net/ess3/api/events/KitClaimEvent.java | 0 .../ess3/api/events/LocalChatSpyEvent.java | 0 .../api/events/MuteStatusChangeEvent.java | 0 .../net/ess3/api/events/NickChangeEvent.java | 0 .../events/PrivateMessagePreSendEvent.java | 0 .../api/events/PrivateMessageSentEvent.java | 0 .../net/ess3/api/events/SignBreakEvent.java | 0 .../net/ess3/api/events/SignCreateEvent.java | 0 .../java}/net/ess3/api/events/SignEvent.java | 0 .../ess3/api/events/SignInteractEvent.java | 0 .../net/ess3/api/events/StateChangeEvent.java | 0 .../ess3/api/events/StatusChangeEvent.java | 0 .../net/ess3/api/events/TPARequestEvent.java | 0 .../api/events/UserBalanceUpdateEvent.java | 0 .../api/events/UserRandomTeleportEvent.java | 0 .../api/events/UserTeleportHomeEvent.java | 0 .../net/ess3/api/events/UserWarpEvent.java | 0 .../api/events/VanishStatusChangeEvent.java | 0 .../api/events/teleport/PreTeleportEvent.java | 0 .../api/events/teleport/TeleportEvent.java | 0 .../events/teleport/TeleportWarmupEvent.java | 0 Essentials/src/{ => main/resources}/book.txt | 0 .../src/{ => main/resources}/config.yml | 0 .../src/{ => main/resources}/custom.txt | 0 .../src/{ => main/resources}/custom_items.yml | 0 Essentials/src/{ => main/resources}/info.txt | 0 Essentials/src/{ => main/resources}/items.csv | 0 .../src/{ => main/resources}/items.json | 0 Essentials/src/{ => main/resources}/kits.yml | 0 .../{ => main/resources}/messages.properties | 0 .../resources}/messages_bg.properties | 0 .../resources}/messages_bs.properties | 0 .../resources}/messages_cs.properties | 0 .../resources}/messages_da.properties | 0 .../resources}/messages_de.properties | 0 .../resources}/messages_el.properties | 0 .../resources}/messages_en.properties | 0 .../resources}/messages_en_GB.properties | 0 .../resources}/messages_es.properties | 0 .../resources}/messages_et.properties | 0 .../resources}/messages_eu.properties | 0 .../resources}/messages_fi.properties | 0 .../resources}/messages_fr.properties | 0 .../resources}/messages_he.properties | 0 .../resources}/messages_hr.properties | 0 .../resources}/messages_hu.properties | 0 .../resources}/messages_is_IS.properties | 0 .../resources}/messages_it.properties | 0 .../resources}/messages_ja.properties | 0 .../resources}/messages_ko.properties | 0 .../resources}/messages_lt.properties | 0 .../resources}/messages_lv_LV.properties | 0 .../resources}/messages_nl.properties | 0 .../resources}/messages_no.properties | 0 .../resources}/messages_pl.properties | 0 .../resources}/messages_pt.properties | 0 .../resources}/messages_pt_BR.properties | 0 .../resources}/messages_ro.properties | 0 .../resources}/messages_ru.properties | 0 .../resources}/messages_sk.properties | 0 .../resources}/messages_sr.properties | 0 .../resources}/messages_sr_CS.properties | 0 .../resources}/messages_sv.properties | 0 .../resources}/messages_th.properties | 0 .../resources}/messages_tr.properties | 0 .../resources}/messages_uk.properties | 0 .../resources}/messages_vi.properties | 0 .../resources}/messages_zh.properties | 0 .../resources}/messages_zh_HK.properties | 0 .../resources}/messages_zh_TW.properties | 0 Essentials/src/{ => main/resources}/motd.txt | 0 .../src/{ => main/resources}/plugin.yml | 0 Essentials/src/{ => main/resources}/rules.txt | 0 Essentials/src/{ => main/resources}/tpr.yml | 0 Essentials/src/{ => main/resources}/worth.yml | 0 .../com/earth2me/essentials/EconomyTest.java | 0 .../com/earth2me/essentials/FakeServer.java | 11 +- .../earth2me/essentials/MessagingTest.java | 0 .../com/earth2me/essentials/StorageTest.java | 0 .../com/earth2me/essentials/ToggleTest.java | 0 .../com/earth2me/essentials/UserTest.java | 0 .../com/earth2me/essentials/UtilTest.java | 0 .../essentials/utils/FormatUtilTest.java | 0 EssentialsAntiBuild/build.gradle | 3 + EssentialsAntiBuild/pom.xml | 25 - .../essentials/antibuild/AntiBuildConfig.java | 0 .../antibuild/EssentialsAntiBuild.java | 0 .../EssentialsAntiBuildListener.java | 0 .../antibuild/EssentialsConnect.java | 0 .../essentials/antibuild/IAntiBuild.java | 0 .../src/{ => main/resources}/plugin.yml | 0 EssentialsChat/build.gradle | 3 + EssentialsChat/pom.xml | 25 - .../earth2me/essentials/chat/ChatStore.java | 0 .../essentials/chat/EssentialsChat.java | 0 .../essentials/chat/EssentialsChatPlayer.java | 0 .../EssentialsChatPlayerListenerHighest.java | 0 .../EssentialsChatPlayerListenerLowest.java | 0 .../EssentialsChatPlayerListenerNormal.java | 0 .../src/{ => main/resources}/plugin.yml | 0 EssentialsGeoIP/build.gradle | 14 + EssentialsGeoIP/pom.xml | 62 --- .../essentials/geoip/EssentialsGeoIP.java | 0 .../geoip/EssentialsGeoIPPlayerListener.java | 0 .../src/{ => main/resources}/config.yml | 0 .../src/{ => main/resources}/plugin.yml | 0 EssentialsProtect/build.gradle | 3 + EssentialsProtect/pom.xml | 25 - .../essentials/protect/EmergencyListener.java | 0 .../essentials/protect/EssentialsConnect.java | 92 ++-- .../essentials/protect/EssentialsProtect.java | 254 ++++----- .../EssentialsProtectBlockListener.java | 298 +++++----- ...ssentialsProtectBlockListener_1_16_R1.java | 0 .../EssentialsProtectEntityListener.java | 516 +++++++++--------- ...ntialsProtectEntityListener_1_13_2_R1.java | 0 ...sentialsProtectEntityListener_1_14_R1.java | 0 .../EssentialsProtectWeatherListener.java | 74 +-- .../earth2me/essentials/protect/IProtect.java | 0 .../essentials/protect/ProtectConfig.java | 0 .../src/{ => main/resources}/plugin.yml | 0 EssentialsSpawn/build.gradle | 3 + EssentialsSpawn/pom.xml | 52 -- .../essentials/spawn/Commandsetspawn.java | 0 .../essentials/spawn/Commandspawn.java | 0 .../essentials/spawn/EssentialsSpawn.java | 0 .../spawn/EssentialsSpawnPlayerListener.java | 10 +- .../essentials/spawn/IEssentialsSpawn.java | 0 .../essentials/spawn/SpawnStorage.java | 0 .../src/{ => main/resources}/plugin.yml | 0 EssentialsXMPP/build.gradle | 10 + EssentialsXMPP/pom.xml | 50 -- .../essentials/xmpp/Commandsetxmpp.java | 0 .../earth2me/essentials/xmpp/Commandxmpp.java | 0 .../essentials/xmpp/Commandxmppspy.java | 0 .../essentials/xmpp/EssentialsXMPP.java | 0 .../xmpp/EssentialsXMPPPlayerListener.java | 0 .../essentials/xmpp/IEssentialsXMPP.java | 0 .../earth2me/essentials/xmpp/UserManager.java | 0 .../earth2me/essentials/xmpp/XMPPManager.java | 0 .../src/{ => main/resources}/config.yml | 0 .../src/{ => main/resources}/plugin.yml | 0 README.md | 28 +- build.gradle | 160 ++++++ crowdin.yml | 4 +- gradle.properties | 3 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58910 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 185 +++++++ gradlew.bat | 104 ++++ pom.xml | 300 ---------- providers/1_8Provider/build.gradle | 3 + providers/1_8Provider/pom.xml | 22 - .../earth2me/essentials/OfflinePlayer.java | 0 providers/BaseProviders/build.gradle | 0 providers/BaseProviders/pom.xml | 14 - .../net/ess3/provider/ContainerProvider.java | 0 .../ess3/provider/KnownCommandsProvider.java | 0 .../net/ess3/provider/PotionMetaProvider.java | 0 .../java}/net/ess3/provider/Provider.java | 0 .../net/ess3/provider/ProviderListener.java | 0 .../ess3/provider/ServerStateProvider.java | 0 .../net/ess3/provider/SpawnEggProvider.java | 0 .../ess3/provider/SpawnerBlockProvider.java | 0 .../ess3/provider/SpawnerItemProvider.java | 0 .../providers/BasePotionDataProvider.java | 0 .../BlockMetaSpawnerItemProvider.java | 0 .../providers/BukkitSpawnerBlockProvider.java | 0 .../providers/FlatSpawnEggProvider.java | 0 .../providers/LegacyPotionMetaProvider.java | 0 .../providers/LegacySpawnEggProvider.java | 0 providers/NMSReflectionProvider/build.gradle | 4 + providers/NMSReflectionProvider/pom.xml | 27 - .../java}/net/ess3/nms/refl/ReflUtil.java | 0 .../java}/net/ess3/nms/refl/SpawnEggRefl.java | 0 .../providers/ReflKnownCommandsProvider.java | 0 .../providers/ReflServerStateProvider.java | 0 .../refl/providers/ReflSpawnEggProvider.java | 0 .../providers/ReflSpawnerBlockProvider.java | 0 providers/PaperProvider/build.gradle | 4 + providers/PaperProvider/pom.xml | 34 -- .../providers/PaperContainerProvider.java | 0 .../providers/PaperKnownCommandsProvider.java | 0 .../providers/PaperRecipeBookListener.java | 0 .../providers/PaperServerStateProvider.java | 0 settings.gradle | 21 + 516 files changed, 1297 insertions(+), 1445 deletions(-) create mode 100644 Essentials/build.gradle delete mode 100644 Essentials/pom.xml rename Essentials/src/{ => main/java}/com/earth2me/essentials/AlternativeCommandsHandler.java (99%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/AsyncTeleport.java (98%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/AsyncTimedTeleport.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Backup.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/ChargeException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/CommandSource.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Console.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Enchantments.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Essentials.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsBlockListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsConf.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsEntityListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsPlayerListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsPluginListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsServerListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsTimer.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsUpgrade.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/EssentialsUserConf.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/ExecuteTimer.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/I18n.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/IConf.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/IEssentials.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/IEssentialsModule.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/ISettings.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/ITarget.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/IUser.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Jails.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Kit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Kits.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/LocationTarget.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/ManagedFile.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/MetaItemStack.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Mob.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/MobCompat.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/MobData.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/PlayerExtension.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/PlayerList.java (98%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/PlayerTarget.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Potions.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/RandomTeleport.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Settings.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/SpawnMob.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/TNTExplodeListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Teleport.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/TimedTeleport.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Trade.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/UUIDMap.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/User.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/UserData.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/UserMap.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Warps.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/Worth.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/Economy.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/IAsyncTeleport.java (93%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/II18n.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/IItemDb.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/IJails.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/IReload.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/ITeleport.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/IWarps.java (88%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/InvalidNameException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/InvalidWorldException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/NoLoanPermittedException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/api/UserDoesNotExistException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandafk.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandantioch.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandanvil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandback.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbackup.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbalance.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbalancetop.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandban.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbanip.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbeezooka.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbigtree.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbook.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbreak.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbroadcast.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandbroadcastworld.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandburn.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandcartographytable.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandclearinventory.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandclearinventoryconfirmtoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandcompass.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandcondense.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandcreatekit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandcustomtext.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddelhome.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddeljail.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddelkit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddelwarp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddepth.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanddisposal.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandeco.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandeditsign.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandenchant.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandenderchest.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandessentials.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandexp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandext.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandfeed.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandfireball.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandfirework.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandfly.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgamemode.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgc.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgetpos.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgive.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgod.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandgrindstone.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandhat.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandheal.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandhelp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandhelpop.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandhome.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandignore.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandinfo.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandinvsee.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanditem.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanditemdb.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanditemlore.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commanditemname.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandjails.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandjump.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandkick.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandkickall.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandkill.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandkit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandkittycannon.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandlightning.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandlist.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandloom.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmail.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandme.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmore.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmotd.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmsg.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmsgtoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandmute.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandnear.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandnick.java (97%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandnuke.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpay.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpayconfirmtoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpaytoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandping.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpotion.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpowertool.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpowertooltoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandptime.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandpweather.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandr.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrealname.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrecipe.java (100%) mode change 100755 => 100644 rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandremove.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrepair.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrest.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrtoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandrules.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandseen.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsell.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsethome.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsetjail.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsettpr.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsetwarp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsetworth.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandshowkit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandskull.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsmithingtable.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsocialspy.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandspawner.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandspawnmob.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandspeed.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandstonecutter.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsudo.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandsuicide.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtempban.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtempbanip.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandthunder.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtime.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtogglejail.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtop.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpa.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpaall.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpacancel.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpaccept.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpahere.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpall.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpauto.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpdeny.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtphere.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpo.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpoffline.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpohere.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtppos.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtpr.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtptoggle.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandtree.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandunban.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandunbanip.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandunlimited.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandvanish.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandwarp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandweather.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandwhois.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandworkbench.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandworld.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/Commandworth.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/EssentialsCommand.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/EssentialsLoopCommand.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/EssentialsToggleCommand.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/IEssentialsCommand.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/NoChargeException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/NotEnoughArgumentsException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/PlayerExemptException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/PlayerNotFoundException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/QuietAbortException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/commands/WarpNotFoundException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/craftbukkit/BanLookup.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/craftbukkit/FakeWorld.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/craftbukkit/SetExpFix.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/items/AbstractItemDb.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/items/CustomItemResolver.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/items/FlatItemDb.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/items/LegacyItemDb.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/messaging/IMessageRecipient.java (99%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/messaging/SimpleMessageRecipient.java (99%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/metrics/Metrics.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/metrics/MetricsWrapper.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/IPermissionsHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/PermissionsDefaults.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/PermissionsHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/AbstractVaultHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/ConfigPermissionsHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/GenericVaultHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/LuckPermsHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/ModernVaultHandler.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/perm/impl/SuperpermsHandler.java (97%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/register/payment/Method.java (95%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/register/payment/Methods.java (94%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/register/payment/methods/VaultEco.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/settings/Jails.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/settings/Spawns.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/EssentialsSign.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignBalance.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignBlockListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignBuy.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignDisposal.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignEnchant.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignEntityListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignFree.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignGameMode.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignHeal.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignInfo.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignKit.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignMail.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignPlayerListener.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignProtection.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignRepair.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignSell.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignSpawnmob.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignTime.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignTrade.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignWarp.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/SignWeather.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/signs/Signs.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/AbstractDelayedYamlFileWriter.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/AsyncStorageObjectHolder.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/BukkitConstructor.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/Comment.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/EnchantmentLevel.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/IStorageObjectHolder.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/IStorageReader.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/IStorageWriter.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/ListType.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/MapKeyType.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/MapValueType.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/ObjectLoadException.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/StorageObject.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/YamlStorageReader.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/storage/YamlStorageWriter.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/BookInput.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/BookPager.java (96%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/HelpInput.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/IText.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/KeywordReplacer.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/SimpleTextInput.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/SimpleTextPager.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/TextInput.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/textreader/TextPager.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/DateUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/DescParseTickFormat.java (99%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/EnumUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/FloatUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/FormatUtil.java (95%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/LocationUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/MaterialUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/NumberUtil.java (100%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/StringUtil.java (98%) rename Essentials/src/{ => main/java}/com/earth2me/essentials/utils/VersionUtil.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/Economy.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IEssentials.java (97%) rename Essentials/src/{ => main/java}/net/ess3/api/II18n.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IItemDb.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IJails.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IReload.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/ISettings.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/ITeleport.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IUser.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/IWarps.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/InvalidNameException.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/InvalidWorldException.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/MaxMoneyException.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/NoLoanPermittedException.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/PluginKey.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/UserDoesNotExistException.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/AfkStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/FlyStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/GodStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/IgnoreStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/JailStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/KitClaimEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/LocalChatSpyEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/MuteStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/NickChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/PrivateMessagePreSendEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/PrivateMessageSentEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/SignBreakEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/SignCreateEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/SignEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/SignInteractEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/StateChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/StatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/TPARequestEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/UserBalanceUpdateEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/UserRandomTeleportEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/UserTeleportHomeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/UserWarpEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/VanishStatusChangeEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/teleport/PreTeleportEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/teleport/TeleportEvent.java (100%) rename Essentials/src/{ => main/java}/net/ess3/api/events/teleport/TeleportWarmupEvent.java (100%) rename Essentials/src/{ => main/resources}/book.txt (100%) rename Essentials/src/{ => main/resources}/config.yml (100%) rename Essentials/src/{ => main/resources}/custom.txt (100%) rename Essentials/src/{ => main/resources}/custom_items.yml (100%) rename Essentials/src/{ => main/resources}/info.txt (100%) rename Essentials/src/{ => main/resources}/items.csv (100%) rename Essentials/src/{ => main/resources}/items.json (100%) rename Essentials/src/{ => main/resources}/kits.yml (100%) rename Essentials/src/{ => main/resources}/messages.properties (100%) rename Essentials/src/{ => main/resources}/messages_bg.properties (100%) rename Essentials/src/{ => main/resources}/messages_bs.properties (100%) rename Essentials/src/{ => main/resources}/messages_cs.properties (100%) rename Essentials/src/{ => main/resources}/messages_da.properties (100%) rename Essentials/src/{ => main/resources}/messages_de.properties (100%) rename Essentials/src/{ => main/resources}/messages_el.properties (100%) rename Essentials/src/{ => main/resources}/messages_en.properties (100%) rename Essentials/src/{ => main/resources}/messages_en_GB.properties (100%) rename Essentials/src/{ => main/resources}/messages_es.properties (100%) rename Essentials/src/{ => main/resources}/messages_et.properties (100%) rename Essentials/src/{ => main/resources}/messages_eu.properties (100%) rename Essentials/src/{ => main/resources}/messages_fi.properties (100%) rename Essentials/src/{ => main/resources}/messages_fr.properties (100%) rename Essentials/src/{ => main/resources}/messages_he.properties (100%) rename Essentials/src/{ => main/resources}/messages_hr.properties (100%) rename Essentials/src/{ => main/resources}/messages_hu.properties (100%) rename Essentials/src/{ => main/resources}/messages_is_IS.properties (100%) rename Essentials/src/{ => main/resources}/messages_it.properties (100%) rename Essentials/src/{ => main/resources}/messages_ja.properties (100%) rename Essentials/src/{ => main/resources}/messages_ko.properties (100%) rename Essentials/src/{ => main/resources}/messages_lt.properties (100%) rename Essentials/src/{ => main/resources}/messages_lv_LV.properties (100%) rename Essentials/src/{ => main/resources}/messages_nl.properties (100%) rename Essentials/src/{ => main/resources}/messages_no.properties (100%) rename Essentials/src/{ => main/resources}/messages_pl.properties (100%) rename Essentials/src/{ => main/resources}/messages_pt.properties (100%) rename Essentials/src/{ => main/resources}/messages_pt_BR.properties (100%) rename Essentials/src/{ => main/resources}/messages_ro.properties (100%) rename Essentials/src/{ => main/resources}/messages_ru.properties (100%) rename Essentials/src/{ => main/resources}/messages_sk.properties (100%) rename Essentials/src/{ => main/resources}/messages_sr.properties (100%) rename Essentials/src/{ => main/resources}/messages_sr_CS.properties (100%) rename Essentials/src/{ => main/resources}/messages_sv.properties (100%) rename Essentials/src/{ => main/resources}/messages_th.properties (100%) rename Essentials/src/{ => main/resources}/messages_tr.properties (100%) rename Essentials/src/{ => main/resources}/messages_uk.properties (100%) rename Essentials/src/{ => main/resources}/messages_vi.properties (100%) rename Essentials/src/{ => main/resources}/messages_zh.properties (100%) rename Essentials/src/{ => main/resources}/messages_zh_HK.properties (100%) rename Essentials/src/{ => main/resources}/messages_zh_TW.properties (100%) rename Essentials/src/{ => main/resources}/motd.txt (100%) rename Essentials/src/{ => main/resources}/plugin.yml (100%) rename Essentials/src/{ => main/resources}/rules.txt (100%) rename Essentials/src/{ => main/resources}/tpr.yml (100%) rename Essentials/src/{ => main/resources}/worth.yml (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/EconomyTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/FakeServer.java (99%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/MessagingTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/StorageTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/ToggleTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/UserTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/UtilTest.java (100%) rename Essentials/{test => src/test/java}/com/earth2me/essentials/utils/FormatUtilTest.java (100%) create mode 100644 EssentialsAntiBuild/build.gradle delete mode 100644 EssentialsAntiBuild/pom.xml rename EssentialsAntiBuild/src/{ => main/java}/com/earth2me/essentials/antibuild/AntiBuildConfig.java (100%) rename EssentialsAntiBuild/src/{ => main/java}/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java (100%) rename EssentialsAntiBuild/src/{ => main/java}/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java (100%) rename EssentialsAntiBuild/src/{ => main/java}/com/earth2me/essentials/antibuild/EssentialsConnect.java (100%) rename EssentialsAntiBuild/src/{ => main/java}/com/earth2me/essentials/antibuild/IAntiBuild.java (100%) rename EssentialsAntiBuild/src/{ => main/resources}/plugin.yml (100%) create mode 100644 EssentialsChat/build.gradle delete mode 100644 EssentialsChat/pom.xml rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/ChatStore.java (100%) rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/EssentialsChat.java (100%) rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/EssentialsChatPlayer.java (100%) rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java (100%) rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java (100%) rename EssentialsChat/src/{ => main/java}/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java (100%) rename EssentialsChat/src/{ => main/resources}/plugin.yml (100%) create mode 100644 EssentialsGeoIP/build.gradle delete mode 100644 EssentialsGeoIP/pom.xml rename EssentialsGeoIP/src/{ => main/java}/com/earth2me/essentials/geoip/EssentialsGeoIP.java (100%) rename EssentialsGeoIP/src/{ => main/java}/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java (100%) rename EssentialsGeoIP/src/{ => main/resources}/config.yml (100%) rename EssentialsGeoIP/src/{ => main/resources}/plugin.yml (100%) create mode 100644 EssentialsProtect/build.gradle delete mode 100644 EssentialsProtect/pom.xml rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EmergencyListener.java (100%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsConnect.java (97%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtect.java (97%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java (97%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectBlockListener_1_16_R1.java (100%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java (98%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_13_2_R1.java (100%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_14_R1.java (100%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java (97%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/IProtect.java (100%) rename EssentialsProtect/src/{ => main/java}/com/earth2me/essentials/protect/ProtectConfig.java (100%) rename EssentialsProtect/src/{ => main/resources}/plugin.yml (100%) create mode 100644 EssentialsSpawn/build.gradle delete mode 100644 EssentialsSpawn/pom.xml rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/Commandsetspawn.java (100%) rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/Commandspawn.java (100%) rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/EssentialsSpawn.java (100%) rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java (94%) rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/IEssentialsSpawn.java (100%) rename EssentialsSpawn/src/{ => main/java}/com/earth2me/essentials/spawn/SpawnStorage.java (100%) rename EssentialsSpawn/src/{ => main/resources}/plugin.yml (100%) create mode 100644 EssentialsXMPP/build.gradle delete mode 100644 EssentialsXMPP/pom.xml rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/Commandsetxmpp.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/Commandxmpp.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/Commandxmppspy.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/EssentialsXMPP.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/EssentialsXMPPPlayerListener.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/IEssentialsXMPP.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/UserManager.java (100%) rename EssentialsXMPP/src/{ => main/java}/com/earth2me/essentials/xmpp/XMPPManager.java (100%) rename EssentialsXMPP/src/{ => main/resources}/config.yml (100%) rename EssentialsXMPP/src/{ => main/resources}/plugin.yml (100%) create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat delete mode 100644 pom.xml create mode 100644 providers/1_8Provider/build.gradle delete mode 100644 providers/1_8Provider/pom.xml rename providers/1_8Provider/src/{ => main/java}/com/earth2me/essentials/OfflinePlayer.java (100%) create mode 100644 providers/BaseProviders/build.gradle delete mode 100644 providers/BaseProviders/pom.xml rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/ContainerProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/KnownCommandsProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/PotionMetaProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/Provider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/ProviderListener.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/ServerStateProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/SpawnEggProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/SpawnerBlockProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/SpawnerItemProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/BasePotionDataProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/BlockMetaSpawnerItemProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/BukkitSpawnerBlockProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/FlatSpawnEggProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/LegacyPotionMetaProvider.java (100%) rename providers/BaseProviders/src/{ => main/java}/net/ess3/provider/providers/LegacySpawnEggProvider.java (100%) create mode 100644 providers/NMSReflectionProvider/build.gradle delete mode 100644 providers/NMSReflectionProvider/pom.xml rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/ReflUtil.java (100%) rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/SpawnEggRefl.java (100%) rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/providers/ReflKnownCommandsProvider.java (100%) rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/providers/ReflServerStateProvider.java (100%) rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/providers/ReflSpawnEggProvider.java (100%) rename providers/NMSReflectionProvider/src/{ => main/java}/net/ess3/nms/refl/providers/ReflSpawnerBlockProvider.java (100%) create mode 100644 providers/PaperProvider/build.gradle delete mode 100644 providers/PaperProvider/pom.xml rename providers/PaperProvider/src/{ => main/java}/net/ess3/provider/providers/PaperContainerProvider.java (100%) rename providers/PaperProvider/src/{ => main/java}/net/ess3/provider/providers/PaperKnownCommandsProvider.java (100%) rename providers/PaperProvider/src/{ => main/java}/net/ess3/provider/providers/PaperRecipeBookListener.java (100%) rename providers/PaperProvider/src/{ => main/java}/net/ess3/provider/providers/PaperServerStateProvider.java (100%) create mode 100644 settings.gradle diff --git a/.checkstyle/checkstyle.xml b/.checkstyle/checkstyle.xml index 2b482b36c..716990df9 100644 --- a/.checkstyle/checkstyle.xml +++ b/.checkstyle/checkstyle.xml @@ -24,7 +24,7 @@ - + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 76cfb0ad3..b1372310f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,37 +2,47 @@ name: Build EssentialsX on: push: - branches: + branches: - 2.x - mc/* pull_request: - branches: + branches: - 2.x jobs: build: - + name: Build and upload runs-on: ubuntu-latest steps: - name: Checkout Git repo - uses: actions/checkout@v1 - - name: Restore Maven cache - uses: actions/cache@v1 + uses: actions/checkout@v2 with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + fetch-depth: 0 + - name: Restore Gradle cache + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} restore-keys: | - ${{ runner.os }}-maven- + ${{ runner.os }}-gradle- - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - - name: Build with Maven - run: mvn package verify --file pom.xml - - name: Copy artifacts - run: mkdir -p ./out/ && cp -t ./out/ **/target/Essentials*.jar - - uses: actions/upload-artifact@master + - name: Build with Gradle + run: | + chmod +x gradlew + ./gradlew build --stacktrace + - name: Deploy with Gradle + if: ${{ success() && github.event_name == 'push' && github.repository == 'EssentialsX/Essentials' && github.ref == 'refs/head/2.x' }} + env: + ORG_GRADLE_PROJECT_essxUsername: ${{ secrets.ESSENTIALSX_DEPLOY_USERNAME }} + ORG_GRADLE_PROJECT_essxPassword: ${{ secrets.ESSENTIALSX_DEPLOY_PASSWORD }} + run: | + ./gradlew publish + - name: Upload Artifacts + uses: actions/upload-artifact@master with: - name: Plugin jars - path: out/ + name: EssentialsX plugin jars + path: jars/ diff --git a/.gitignore b/.gitignore index 4d8855434..8f0bcd583 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,9 @@ /Essentials/usermap.csv # Build files -target/ +.gradle/ jars/ out/ +build/ +target/ +*.class diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index 17fb01c54..dff7bebd8 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -16,4 +16,4 @@ - + \ No newline at end of file diff --git a/Essentials/build.gradle b/Essentials/build.gradle new file mode 100644 index 000000000..bff092f9a --- /dev/null +++ b/Essentials/build.gradle @@ -0,0 +1,29 @@ +dependencies { + compileOnly('com.github.milkbowl:VaultAPI:1.7') { + exclude group: "org.bukkit", module: "bukkit" + } + compileOnly 'net.luckperms:api:5.0' + + api 'io.papermc:paperlib:1.0.6-SNAPSHOT' + + // Providers + api project(':providers:BaseProviders') + api project(':providers:PaperProvider') + api(project(':providers:NMSReflectionProvider')) { + exclude group: "org.bukkit", module: "bukkit" + } + api(project(':providers:1_8Provider')) { + exclude group: "org.bukkit", module: "bukkit" + } +} + +shadowJar { + dependencies { + include (dependency('io.papermc:paperlib')) + include (project(':providers:BaseProviders')) + include (project(':providers:PaperProvider')) + include (project(':providers:NMSReflectionProvider')) + include (project(':providers:1_8Provider')) + } + relocate 'io.papermc.lib', 'com.earth2me.essentials.paperlib' +} diff --git a/Essentials/pom.xml b/Essentials/pom.xml deleted file mode 100644 index 09d674272..000000000 --- a/Essentials/pom.xml +++ /dev/null @@ -1,118 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsX - - - EssentialsX-${full.version} - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - false - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.1 - - - package - - shade - - - - - false - - - io.papermc.lib - com.earth2me.essentials.paperlib - - - - - - - - - - com.github.milkbowl - VaultAPI - 1.7 - - - org.bukkit - bukkit - - - provided - - - net.luckperms - api - 5.0 - provided - - - io.papermc - paperlib - 1.0.6-SNAPSHOT - compile - - - net.ess3 - BaseProviders - 2.18.2 - compile - - - net.ess3 - NMSReflectionProvider - 2.18.2 - - - org.bukkit - bukkit - - - compile - - - net.ess3 - PaperProvider - 2.18.2 - - - com.destroystokyo.paper - paper-api - - - compile - - - net.ess3 - 1_8Provider - 2.18.2 - - - org.bukkit - bukkit - - - compile - - - diff --git a/Essentials/src/com/earth2me/essentials/AlternativeCommandsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java similarity index 99% rename from Essentials/src/com/earth2me/essentials/AlternativeCommandsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java index 91e7d0329..04a77bcf3 100644 --- a/Essentials/src/com/earth2me/essentials/AlternativeCommandsHandler.java +++ b/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java @@ -1,6 +1,5 @@ package com.earth2me.essentials; -import net.ess3.api.IEssentials; import org.bukkit.command.Command; import org.bukkit.command.PluginCommand; import org.bukkit.command.PluginCommandYamlParser; diff --git a/Essentials/src/com/earth2me/essentials/AsyncTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/AsyncTeleport.java similarity index 98% rename from Essentials/src/com/earth2me/essentials/AsyncTeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/AsyncTeleport.java index 03a7f4426..5c1f0648c 100644 --- a/Essentials/src/com/earth2me/essentials/AsyncTeleport.java +++ b/Essentials/src/main/java/com/earth2me/essentials/AsyncTeleport.java @@ -134,6 +134,13 @@ public class AsyncTeleport implements IAsyncTeleport { }); } + @Override + public void nowUnsafe(Location loc, TeleportCause cause, CompletableFuture future) { + final CompletableFuture paperFuture = PaperLib.teleportAsync(teleportOwner.getBase(), loc, cause); + paperFuture.thenAccept(future::complete); + paperFuture.exceptionally(future::completeExceptionally); + } + private void runOnMain(final Runnable runnable) throws ExecutionException, InterruptedException { if (Bukkit.isPrimaryThread()) { runnable.run(); diff --git a/Essentials/src/com/earth2me/essentials/AsyncTimedTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/AsyncTimedTeleport.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/AsyncTimedTeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/AsyncTimedTeleport.java diff --git a/Essentials/src/com/earth2me/essentials/Backup.java b/Essentials/src/main/java/com/earth2me/essentials/Backup.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Backup.java rename to Essentials/src/main/java/com/earth2me/essentials/Backup.java diff --git a/Essentials/src/com/earth2me/essentials/ChargeException.java b/Essentials/src/main/java/com/earth2me/essentials/ChargeException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/ChargeException.java rename to Essentials/src/main/java/com/earth2me/essentials/ChargeException.java diff --git a/Essentials/src/com/earth2me/essentials/CommandSource.java b/Essentials/src/main/java/com/earth2me/essentials/CommandSource.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/CommandSource.java rename to Essentials/src/main/java/com/earth2me/essentials/CommandSource.java diff --git a/Essentials/src/com/earth2me/essentials/Console.java b/Essentials/src/main/java/com/earth2me/essentials/Console.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Console.java rename to Essentials/src/main/java/com/earth2me/essentials/Console.java diff --git a/Essentials/src/com/earth2me/essentials/Enchantments.java b/Essentials/src/main/java/com/earth2me/essentials/Enchantments.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Enchantments.java rename to Essentials/src/main/java/com/earth2me/essentials/Enchantments.java diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/main/java/com/earth2me/essentials/Essentials.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Essentials.java rename to Essentials/src/main/java/com/earth2me/essentials/Essentials.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsBlockListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsBlockListener.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsConf.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsConf.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsConf.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsConf.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsEntityListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsEntityListener.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsPlayerListener.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsPluginListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsPluginListener.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsServerListener.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsServerListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsServerListener.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsServerListener.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsTimer.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsTimer.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsTimer.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsTimer.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsUpgrade.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsUpgrade.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsUpgrade.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsUpgrade.java diff --git a/Essentials/src/com/earth2me/essentials/EssentialsUserConf.java b/Essentials/src/main/java/com/earth2me/essentials/EssentialsUserConf.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/EssentialsUserConf.java rename to Essentials/src/main/java/com/earth2me/essentials/EssentialsUserConf.java diff --git a/Essentials/src/com/earth2me/essentials/ExecuteTimer.java b/Essentials/src/main/java/com/earth2me/essentials/ExecuteTimer.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/ExecuteTimer.java rename to Essentials/src/main/java/com/earth2me/essentials/ExecuteTimer.java diff --git a/Essentials/src/com/earth2me/essentials/I18n.java b/Essentials/src/main/java/com/earth2me/essentials/I18n.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/I18n.java rename to Essentials/src/main/java/com/earth2me/essentials/I18n.java diff --git a/Essentials/src/com/earth2me/essentials/IConf.java b/Essentials/src/main/java/com/earth2me/essentials/IConf.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/IConf.java rename to Essentials/src/main/java/com/earth2me/essentials/IConf.java diff --git a/Essentials/src/com/earth2me/essentials/IEssentials.java b/Essentials/src/main/java/com/earth2me/essentials/IEssentials.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/IEssentials.java rename to Essentials/src/main/java/com/earth2me/essentials/IEssentials.java diff --git a/Essentials/src/com/earth2me/essentials/IEssentialsModule.java b/Essentials/src/main/java/com/earth2me/essentials/IEssentialsModule.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/IEssentialsModule.java rename to Essentials/src/main/java/com/earth2me/essentials/IEssentialsModule.java diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/main/java/com/earth2me/essentials/ISettings.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/ISettings.java rename to Essentials/src/main/java/com/earth2me/essentials/ISettings.java diff --git a/Essentials/src/com/earth2me/essentials/ITarget.java b/Essentials/src/main/java/com/earth2me/essentials/ITarget.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/ITarget.java rename to Essentials/src/main/java/com/earth2me/essentials/ITarget.java diff --git a/Essentials/src/com/earth2me/essentials/IUser.java b/Essentials/src/main/java/com/earth2me/essentials/IUser.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/IUser.java rename to Essentials/src/main/java/com/earth2me/essentials/IUser.java diff --git a/Essentials/src/com/earth2me/essentials/Jails.java b/Essentials/src/main/java/com/earth2me/essentials/Jails.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Jails.java rename to Essentials/src/main/java/com/earth2me/essentials/Jails.java diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/main/java/com/earth2me/essentials/Kit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Kit.java rename to Essentials/src/main/java/com/earth2me/essentials/Kit.java diff --git a/Essentials/src/com/earth2me/essentials/Kits.java b/Essentials/src/main/java/com/earth2me/essentials/Kits.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Kits.java rename to Essentials/src/main/java/com/earth2me/essentials/Kits.java diff --git a/Essentials/src/com/earth2me/essentials/LocationTarget.java b/Essentials/src/main/java/com/earth2me/essentials/LocationTarget.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/LocationTarget.java rename to Essentials/src/main/java/com/earth2me/essentials/LocationTarget.java diff --git a/Essentials/src/com/earth2me/essentials/ManagedFile.java b/Essentials/src/main/java/com/earth2me/essentials/ManagedFile.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/ManagedFile.java rename to Essentials/src/main/java/com/earth2me/essentials/ManagedFile.java diff --git a/Essentials/src/com/earth2me/essentials/MetaItemStack.java b/Essentials/src/main/java/com/earth2me/essentials/MetaItemStack.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/MetaItemStack.java rename to Essentials/src/main/java/com/earth2me/essentials/MetaItemStack.java diff --git a/Essentials/src/com/earth2me/essentials/Mob.java b/Essentials/src/main/java/com/earth2me/essentials/Mob.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Mob.java rename to Essentials/src/main/java/com/earth2me/essentials/Mob.java diff --git a/Essentials/src/com/earth2me/essentials/MobCompat.java b/Essentials/src/main/java/com/earth2me/essentials/MobCompat.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/MobCompat.java rename to Essentials/src/main/java/com/earth2me/essentials/MobCompat.java diff --git a/Essentials/src/com/earth2me/essentials/MobData.java b/Essentials/src/main/java/com/earth2me/essentials/MobData.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/MobData.java rename to Essentials/src/main/java/com/earth2me/essentials/MobData.java diff --git a/Essentials/src/com/earth2me/essentials/PlayerExtension.java b/Essentials/src/main/java/com/earth2me/essentials/PlayerExtension.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/PlayerExtension.java rename to Essentials/src/main/java/com/earth2me/essentials/PlayerExtension.java diff --git a/Essentials/src/com/earth2me/essentials/PlayerList.java b/Essentials/src/main/java/com/earth2me/essentials/PlayerList.java similarity index 98% rename from Essentials/src/com/earth2me/essentials/PlayerList.java rename to Essentials/src/main/java/com/earth2me/essentials/PlayerList.java index 423e7146f..7b4dc59d5 100644 --- a/Essentials/src/com/earth2me/essentials/PlayerList.java +++ b/Essentials/src/main/java/com/earth2me/essentials/PlayerList.java @@ -40,7 +40,7 @@ public final class PlayerList { if (ess.getSettings().realNamesOnList() && !ChatColor.stripColor(user.getDisplayName()).equals(user.getName())) { groupString.append(" (").append(user.getName()).append(")"); } - groupString.append("\u00a7f"); + groupString.append(ChatColor.WHITE.toString()); } return groupString.toString(); } diff --git a/Essentials/src/com/earth2me/essentials/PlayerTarget.java b/Essentials/src/main/java/com/earth2me/essentials/PlayerTarget.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/PlayerTarget.java rename to Essentials/src/main/java/com/earth2me/essentials/PlayerTarget.java diff --git a/Essentials/src/com/earth2me/essentials/Potions.java b/Essentials/src/main/java/com/earth2me/essentials/Potions.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Potions.java rename to Essentials/src/main/java/com/earth2me/essentials/Potions.java diff --git a/Essentials/src/com/earth2me/essentials/RandomTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/RandomTeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/RandomTeleport.java diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/main/java/com/earth2me/essentials/Settings.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Settings.java rename to Essentials/src/main/java/com/earth2me/essentials/Settings.java diff --git a/Essentials/src/com/earth2me/essentials/SpawnMob.java b/Essentials/src/main/java/com/earth2me/essentials/SpawnMob.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/SpawnMob.java rename to Essentials/src/main/java/com/earth2me/essentials/SpawnMob.java diff --git a/Essentials/src/com/earth2me/essentials/TNTExplodeListener.java b/Essentials/src/main/java/com/earth2me/essentials/TNTExplodeListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/TNTExplodeListener.java rename to Essentials/src/main/java/com/earth2me/essentials/TNTExplodeListener.java diff --git a/Essentials/src/com/earth2me/essentials/Teleport.java b/Essentials/src/main/java/com/earth2me/essentials/Teleport.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Teleport.java rename to Essentials/src/main/java/com/earth2me/essentials/Teleport.java diff --git a/Essentials/src/com/earth2me/essentials/TimedTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/TimedTeleport.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/TimedTeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/TimedTeleport.java diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/main/java/com/earth2me/essentials/Trade.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Trade.java rename to Essentials/src/main/java/com/earth2me/essentials/Trade.java diff --git a/Essentials/src/com/earth2me/essentials/UUIDMap.java b/Essentials/src/main/java/com/earth2me/essentials/UUIDMap.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/UUIDMap.java rename to Essentials/src/main/java/com/earth2me/essentials/UUIDMap.java diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/main/java/com/earth2me/essentials/User.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/User.java rename to Essentials/src/main/java/com/earth2me/essentials/User.java diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/main/java/com/earth2me/essentials/UserData.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/UserData.java rename to Essentials/src/main/java/com/earth2me/essentials/UserData.java diff --git a/Essentials/src/com/earth2me/essentials/UserMap.java b/Essentials/src/main/java/com/earth2me/essentials/UserMap.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/UserMap.java rename to Essentials/src/main/java/com/earth2me/essentials/UserMap.java diff --git a/Essentials/src/com/earth2me/essentials/Warps.java b/Essentials/src/main/java/com/earth2me/essentials/Warps.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Warps.java rename to Essentials/src/main/java/com/earth2me/essentials/Warps.java diff --git a/Essentials/src/com/earth2me/essentials/Worth.java b/Essentials/src/main/java/com/earth2me/essentials/Worth.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/Worth.java rename to Essentials/src/main/java/com/earth2me/essentials/Worth.java diff --git a/Essentials/src/com/earth2me/essentials/api/Economy.java b/Essentials/src/main/java/com/earth2me/essentials/api/Economy.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/Economy.java rename to Essentials/src/main/java/com/earth2me/essentials/api/Economy.java diff --git a/Essentials/src/com/earth2me/essentials/api/IAsyncTeleport.java b/Essentials/src/main/java/com/earth2me/essentials/api/IAsyncTeleport.java similarity index 93% rename from Essentials/src/com/earth2me/essentials/api/IAsyncTeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/api/IAsyncTeleport.java index 6a7169a1d..a6e6b82ca 100644 --- a/Essentials/src/com/earth2me/essentials/api/IAsyncTeleport.java +++ b/Essentials/src/main/java/com/earth2me/essentials/api/IAsyncTeleport.java @@ -34,6 +34,15 @@ public interface IAsyncTeleport { */ void now(Player entity, boolean cooldown, PlayerTeleportEvent.TeleportCause cause, CompletableFuture future); + /** + * Used to skip all safety checks while teleporting a player asynchronously. + * + * @param loc - Where should the player end up + * @param cause - The reported teleportPlayer cause + * @param future - Future which is completed with the success status of the execution + */ + void nowUnsafe(Location loc, PlayerTeleportEvent.TeleportCause cause, CompletableFuture future); + /** * Teleport a player to a specific location * diff --git a/Essentials/src/com/earth2me/essentials/api/II18n.java b/Essentials/src/main/java/com/earth2me/essentials/api/II18n.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/II18n.java rename to Essentials/src/main/java/com/earth2me/essentials/api/II18n.java diff --git a/Essentials/src/com/earth2me/essentials/api/IItemDb.java b/Essentials/src/main/java/com/earth2me/essentials/api/IItemDb.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/IItemDb.java rename to Essentials/src/main/java/com/earth2me/essentials/api/IItemDb.java diff --git a/Essentials/src/com/earth2me/essentials/api/IJails.java b/Essentials/src/main/java/com/earth2me/essentials/api/IJails.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/IJails.java rename to Essentials/src/main/java/com/earth2me/essentials/api/IJails.java diff --git a/Essentials/src/com/earth2me/essentials/api/IReload.java b/Essentials/src/main/java/com/earth2me/essentials/api/IReload.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/IReload.java rename to Essentials/src/main/java/com/earth2me/essentials/api/IReload.java diff --git a/Essentials/src/com/earth2me/essentials/api/ITeleport.java b/Essentials/src/main/java/com/earth2me/essentials/api/ITeleport.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/ITeleport.java rename to Essentials/src/main/java/com/earth2me/essentials/api/ITeleport.java diff --git a/Essentials/src/com/earth2me/essentials/api/IWarps.java b/Essentials/src/main/java/com/earth2me/essentials/api/IWarps.java similarity index 88% rename from Essentials/src/com/earth2me/essentials/api/IWarps.java rename to Essentials/src/main/java/com/earth2me/essentials/api/IWarps.java index 89f0fb47e..2ddf06dc7 100644 --- a/Essentials/src/com/earth2me/essentials/api/IWarps.java +++ b/Essentials/src/main/java/com/earth2me/essentials/api/IWarps.java @@ -44,7 +44,7 @@ public interface IWarps extends IConf { * Delete a warp from the warp DB * * @param name - Name of warp - * @throws Exception + * @throws Exception If the warp could not be removed */ void removeWarp(String name) throws Exception; @@ -53,7 +53,7 @@ public interface IWarps extends IConf { * * @param name - Name of warp * @param loc - Location of warp - * @throws Exception + * @throws Exception If the warp could not be set */ void setWarp(String name, Location loc) throws Exception; @@ -63,7 +63,7 @@ public interface IWarps extends IConf { * @param user - User of warp * @param name - Name of warp * @param loc - Location of warp - * @throws Exception + * @throws Exception If the warp could not be set */ void setWarp(IUser user, String name, Location loc) throws Exception; @@ -71,14 +71,14 @@ public interface IWarps extends IConf { * Gets Lastowner UUID * * @param warp - Name of warp - * @throws WarpNotFoundException + * @throws WarpNotFoundException If the warp is not found */ UUID getLastOwner(String warp) throws WarpNotFoundException; /** * Check to see if the file is empty * - * @return + * @return Whether or not the file is empty */ boolean isEmpty(); diff --git a/Essentials/src/com/earth2me/essentials/api/InvalidNameException.java b/Essentials/src/main/java/com/earth2me/essentials/api/InvalidNameException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/InvalidNameException.java rename to Essentials/src/main/java/com/earth2me/essentials/api/InvalidNameException.java diff --git a/Essentials/src/com/earth2me/essentials/api/InvalidWorldException.java b/Essentials/src/main/java/com/earth2me/essentials/api/InvalidWorldException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/InvalidWorldException.java rename to Essentials/src/main/java/com/earth2me/essentials/api/InvalidWorldException.java diff --git a/Essentials/src/com/earth2me/essentials/api/NoLoanPermittedException.java b/Essentials/src/main/java/com/earth2me/essentials/api/NoLoanPermittedException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/NoLoanPermittedException.java rename to Essentials/src/main/java/com/earth2me/essentials/api/NoLoanPermittedException.java diff --git a/Essentials/src/com/earth2me/essentials/api/UserDoesNotExistException.java b/Essentials/src/main/java/com/earth2me/essentials/api/UserDoesNotExistException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/api/UserDoesNotExistException.java rename to Essentials/src/main/java/com/earth2me/essentials/api/UserDoesNotExistException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandafk.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandafk.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandafk.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandafk.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandantioch.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandantioch.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandantioch.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandantioch.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandanvil.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandanvil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandanvil.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandanvil.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandback.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandback.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandback.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandback.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbackup.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbackup.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbackup.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbackup.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbalance.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbalance.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalance.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalancetop.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbalancetop.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbalancetop.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandban.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandban.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandban.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandban.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbanip.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbanip.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbanip.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbeezooka.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbeezooka.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbeezooka.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbeezooka.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbigtree.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbigtree.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbigtree.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbigtree.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbook.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbook.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbook.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbook.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbreak.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbreak.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbreak.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbreak.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbroadcast.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbroadcast.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbroadcast.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbroadcast.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbroadcastworld.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandbroadcastworld.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandbroadcastworld.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandbroadcastworld.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandburn.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandburn.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandburn.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandburn.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandcartographytable.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandcartographytable.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandcartographytable.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandcartographytable.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandclearinventory.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandclearinventory.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandclearinventory.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandclearinventory.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandclearinventoryconfirmtoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandclearinventoryconfirmtoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandclearinventoryconfirmtoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandclearinventoryconfirmtoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandcompass.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandcompass.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandcompass.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandcompass.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandcondense.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandcondense.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandcondense.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandcondense.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandcreatekit.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandcreatekit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandcreatekit.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandcreatekit.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandcustomtext.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandcustomtext.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandcustomtext.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandcustomtext.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelhome.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddelhome.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelhome.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddeljail.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddeljail.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddeljail.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddeljail.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddelkit.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelkit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddelkit.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelkit.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddelwarp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelwarp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddelwarp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddelwarp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddepth.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddepth.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddepth.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddepth.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanddisposal.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanddisposal.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanddisposal.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanddisposal.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandeco.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandeco.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandeco.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandeditsign.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandeditsign.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandeditsign.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandeditsign.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandenchant.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandenchant.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandenchant.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandenchant.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandenderchest.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandenderchest.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandenderchest.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandenderchest.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandessentials.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandessentials.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandexp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandexp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandexp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandext.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandext.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandext.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandext.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfeed.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandfeed.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandfeed.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandfeed.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfireball.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandfireball.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandfireball.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandfireball.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfirework.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandfirework.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandfirework.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandfirework.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfly.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandfly.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandfly.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandfly.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgamemode.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgamemode.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgc.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgc.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgc.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgc.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgetpos.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgetpos.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgive.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgive.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgive.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgod.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgod.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgod.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgod.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgrindstone.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandgrindstone.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandgrindstone.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandgrindstone.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhat.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhat.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandhat.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandhat.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandheal.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandheal.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandheal.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandhelp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhelpop.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelpop.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandhelpop.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelpop.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhome.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandhome.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandignore.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandignore.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandignore.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandinfo.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandinfo.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandinfo.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandinfo.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandinvsee.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandinvsee.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditem.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditem.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanditem.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanditem.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditemdb.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanditemdb.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditemlore.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemlore.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanditemlore.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemlore.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditemname.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemname.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commanditemname.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemname.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandjails.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandjails.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandjails.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandjails.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandjump.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandjump.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandjump.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandjump.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkick.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandkick.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandkick.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandkick.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkickall.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandkickall.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandkickall.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandkickall.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkill.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandkill.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandkill.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandkill.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandkit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandkit.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandkit.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkittycannon.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandkittycannon.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandkittycannon.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandkittycannon.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandlightning.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandlightning.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandlightning.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandlightning.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandlist.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandlist.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandlist.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandlist.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandloom.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandloom.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandloom.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandloom.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmail.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmail.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmail.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmail.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandme.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandme.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandme.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandme.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmore.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmore.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmore.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmore.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmotd.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmotd.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmotd.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmotd.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmsg.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmsg.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsg.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmsgtoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsgtoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmsgtoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmsgtoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmute.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandmute.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandmute.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandmute.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnear.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandnear.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandnear.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandnear.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandnick.java similarity index 97% rename from Essentials/src/com/earth2me/essentials/commands/Commandnick.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandnick.java index 0f069fce4..5d2dd31ef 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandnick.java @@ -71,7 +71,7 @@ public class Commandnick extends EssentialsLoopCommand { private String formatNickname(final User user, final String nick) throws Exception { final String newNick = user == null ? FormatUtil.replaceFormat(nick) : FormatUtil.formatString(user, "essentials.nick", nick); - if (!newNick.matches("^[a-zA-Z_0-9\u00a7]+$") && user != null && !user.isAuthorized("essentials.nick.allowunsafe")) { + if (!newNick.matches("^[a-zA-Z_0-9" + ChatColor.COLOR_CHAR + "]+$") && user != null && !user.isAuthorized("essentials.nick.allowunsafe")) { throw new Exception(tl("nickNamesAlpha")); } else if (getNickLength(newNick) > ess.getSettings().getMaxNickLength()) { throw new Exception(tl("nickTooLong")); diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnuke.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandnuke.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandnuke.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandnuke.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpay.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpay.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpay.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpay.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpayconfirmtoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpayconfirmtoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpayconfirmtoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpayconfirmtoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpaytoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpaytoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpaytoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpaytoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandping.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandping.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandping.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandping.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpotion.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpotion.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpotion.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpotion.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpowertool.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpowertool.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpowertooltoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpowertooltoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpowertooltoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpowertooltoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandptime.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandptime.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandptime.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandptime.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpweather.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandpweather.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandpweather.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandpweather.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandr.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandr.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandr.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandr.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrealname.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrealname.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrealname.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrealname.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrecipe.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java old mode 100755 new mode 100644 similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrecipe.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandremove.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandremove.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandremove.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandremove.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrepair.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrepair.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrepair.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrepair.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrest.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrest.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrest.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrest.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrtoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrtoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrtoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrtoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandrules.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrules.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandrules.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandrules.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandseen.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandseen.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsell.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsell.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsell.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsell.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsethome.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsethome.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsethome.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsetjail.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetjail.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsetjail.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetjail.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsettpr.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsettpr.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsetwarp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetwarp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsetwarp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetwarp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsetworth.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetworth.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsetworth.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsetworth.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandshowkit.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandshowkit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandshowkit.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandshowkit.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandskull.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandskull.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandskull.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandskull.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsmithingtable.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsmithingtable.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsmithingtable.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsmithingtable.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsocialspy.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsocialspy.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsocialspy.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsocialspy.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawner.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandspawner.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandspawner.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandspawner.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandspawnmob.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandspawnmob.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspeed.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandspeed.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandspeed.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandspeed.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandstonecutter.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandstonecutter.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandstonecutter.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandstonecutter.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsudo.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsudo.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsudo.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsudo.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsuicide.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsuicide.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandsuicide.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandsuicide.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtempban.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtempban.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtempban.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtempbanip.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtempbanip.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtempbanip.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtempbanip.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandthunder.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandthunder.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandthunder.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandthunder.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtime.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtime.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtime.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtogglejail.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtogglejail.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtogglejail.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtogglejail.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtop.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtop.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtop.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtop.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpa.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpa.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpa.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpa.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpaall.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpaall.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpaall.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpaall.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpacancel.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpacancel.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpacancel.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpacancel.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpaccept.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpaccept.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpaccept.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpaccept.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpahere.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpahere.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpahere.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpahere.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpall.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpall.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpall.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpall.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpauto.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpauto.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpauto.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpauto.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpdeny.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpdeny.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpdeny.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpdeny.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtphere.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtphere.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtphere.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtphere.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpo.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpo.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpo.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpoffline.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpoffline.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpoffline.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpohere.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpohere.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpohere.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpohere.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtppos.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtppos.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpr.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpr.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtpr.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtpr.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtptoggle.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtptoggle.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtptoggle.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtptoggle.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtree.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandtree.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandtree.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandtree.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunban.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunban.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandunban.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandunban.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunbanip.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandunbanip.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandunlimited.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandvanish.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandvanish.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandvanish.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandwarp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandwarp.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandweather.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandweather.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandweather.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandweather.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandwhois.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandwhois.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandworkbench.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandworkbench.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandworkbench.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandworkbench.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandworld.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandworld.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandworld.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandworld.java diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandworth.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandworth.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/Commandworth.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/Commandworth.java diff --git a/Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java diff --git a/Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsLoopCommand.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/EssentialsLoopCommand.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsLoopCommand.java diff --git a/Essentials/src/com/earth2me/essentials/commands/EssentialsToggleCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsToggleCommand.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/EssentialsToggleCommand.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsToggleCommand.java diff --git a/Essentials/src/com/earth2me/essentials/commands/IEssentialsCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/IEssentialsCommand.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java diff --git a/Essentials/src/com/earth2me/essentials/commands/NoChargeException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/NoChargeException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/NoChargeException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/NoChargeException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/NotEnoughArgumentsException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/NotEnoughArgumentsException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/NotEnoughArgumentsException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/NotEnoughArgumentsException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/PlayerExemptException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/PlayerExemptException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/PlayerExemptException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/PlayerExemptException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/PlayerNotFoundException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/PlayerNotFoundException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/PlayerNotFoundException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/PlayerNotFoundException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/QuietAbortException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/QuietAbortException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/QuietAbortException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/QuietAbortException.java diff --git a/Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java b/Essentials/src/main/java/com/earth2me/essentials/commands/WarpNotFoundException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java rename to Essentials/src/main/java/com/earth2me/essentials/commands/WarpNotFoundException.java diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/BanLookup.java b/Essentials/src/main/java/com/earth2me/essentials/craftbukkit/BanLookup.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/craftbukkit/BanLookup.java rename to Essentials/src/main/java/com/earth2me/essentials/craftbukkit/BanLookup.java diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java b/Essentials/src/main/java/com/earth2me/essentials/craftbukkit/FakeWorld.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/craftbukkit/FakeWorld.java rename to Essentials/src/main/java/com/earth2me/essentials/craftbukkit/FakeWorld.java diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java b/Essentials/src/main/java/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java rename to Essentials/src/main/java/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java b/Essentials/src/main/java/com/earth2me/essentials/craftbukkit/SetExpFix.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java rename to Essentials/src/main/java/com/earth2me/essentials/craftbukkit/SetExpFix.java diff --git a/Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java b/Essentials/src/main/java/com/earth2me/essentials/items/AbstractItemDb.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java rename to Essentials/src/main/java/com/earth2me/essentials/items/AbstractItemDb.java diff --git a/Essentials/src/com/earth2me/essentials/items/CustomItemResolver.java b/Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/items/CustomItemResolver.java rename to Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java diff --git a/Essentials/src/com/earth2me/essentials/items/FlatItemDb.java b/Essentials/src/main/java/com/earth2me/essentials/items/FlatItemDb.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/items/FlatItemDb.java rename to Essentials/src/main/java/com/earth2me/essentials/items/FlatItemDb.java diff --git a/Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java b/Essentials/src/main/java/com/earth2me/essentials/items/LegacyItemDb.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java rename to Essentials/src/main/java/com/earth2me/essentials/items/LegacyItemDb.java diff --git a/Essentials/src/com/earth2me/essentials/messaging/IMessageRecipient.java b/Essentials/src/main/java/com/earth2me/essentials/messaging/IMessageRecipient.java similarity index 99% rename from Essentials/src/com/earth2me/essentials/messaging/IMessageRecipient.java rename to Essentials/src/main/java/com/earth2me/essentials/messaging/IMessageRecipient.java index 495a396af..77a208c97 100644 --- a/Essentials/src/com/earth2me/essentials/messaging/IMessageRecipient.java +++ b/Essentials/src/main/java/com/earth2me/essentials/messaging/IMessageRecipient.java @@ -16,7 +16,7 @@ public interface IMessageRecipient { /** * This method is called when this {@link IMessageRecipient} is sending a message to another {@link IMessageRecipient}. - *
+ *

* The {@link MessageResponse} that is returned is used to determine what exactly should happen in the {@link #sendMessage(IMessageRecipient, * String)} implementation by the {@code sender}. * @@ -28,10 +28,10 @@ public interface IMessageRecipient { /** * This method is called when this recipient is receiving a message from another {@link IMessageRecipient}. - *
+ *

* The {@link MessageResponse} that is returned is used to determine what exactly should happen in the {@link #sendMessage(IMessageRecipient, * String)} implementation by the {@code sender}. - *

+ *

* This method should only be called by {@link #sendMessage(IMessageRecipient, String)}. * * @param sender sender of the {@code message} diff --git a/Essentials/src/com/earth2me/essentials/messaging/SimpleMessageRecipient.java b/Essentials/src/main/java/com/earth2me/essentials/messaging/SimpleMessageRecipient.java similarity index 99% rename from Essentials/src/com/earth2me/essentials/messaging/SimpleMessageRecipient.java rename to Essentials/src/main/java/com/earth2me/essentials/messaging/SimpleMessageRecipient.java index 7727143b3..f8751a08b 100644 --- a/Essentials/src/com/earth2me/essentials/messaging/SimpleMessageRecipient.java +++ b/Essentials/src/main/java/com/earth2me/essentials/messaging/SimpleMessageRecipient.java @@ -174,7 +174,7 @@ public class SimpleMessageRecipient implements IMessageRecipient { /** * {@inheritDoc} - *

+ *

* This {@link com.earth2me.essentials.messaging.SimpleMessageRecipient} implementation stores the a weak reference to the recipient. */ @Override @@ -184,7 +184,7 @@ public class SimpleMessageRecipient implements IMessageRecipient { /** * {@inheritDoc} - *

+ *

* This {@link com.earth2me.essentials.messaging.SimpleMessageRecipient} implementation stores the a weak reference to the recipient. */ @Override diff --git a/Essentials/src/com/earth2me/essentials/metrics/Metrics.java b/Essentials/src/main/java/com/earth2me/essentials/metrics/Metrics.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/metrics/Metrics.java rename to Essentials/src/main/java/com/earth2me/essentials/metrics/Metrics.java diff --git a/Essentials/src/com/earth2me/essentials/metrics/MetricsWrapper.java b/Essentials/src/main/java/com/earth2me/essentials/metrics/MetricsWrapper.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/metrics/MetricsWrapper.java rename to Essentials/src/main/java/com/earth2me/essentials/metrics/MetricsWrapper.java diff --git a/Essentials/src/com/earth2me/essentials/perm/IPermissionsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/IPermissionsHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/IPermissionsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/IPermissionsHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/PermissionsDefaults.java b/Essentials/src/main/java/com/earth2me/essentials/perm/PermissionsDefaults.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/PermissionsDefaults.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/PermissionsDefaults.java diff --git a/Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/PermissionsHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/PermissionsHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/AbstractVaultHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/AbstractVaultHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/impl/AbstractVaultHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/AbstractVaultHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/ConfigPermissionsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/ConfigPermissionsHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/impl/ConfigPermissionsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/ConfigPermissionsHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/GenericVaultHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/GenericVaultHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/impl/GenericVaultHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/GenericVaultHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/LuckPermsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/LuckPermsHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/impl/LuckPermsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/LuckPermsHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/ModernVaultHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/ModernVaultHandler.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/perm/impl/ModernVaultHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/ModernVaultHandler.java diff --git a/Essentials/src/com/earth2me/essentials/perm/impl/SuperpermsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/SuperpermsHandler.java similarity index 97% rename from Essentials/src/com/earth2me/essentials/perm/impl/SuperpermsHandler.java rename to Essentials/src/main/java/com/earth2me/essentials/perm/impl/SuperpermsHandler.java index 1fe1da6f3..d91efefde 100644 --- a/Essentials/src/com/earth2me/essentials/perm/impl/SuperpermsHandler.java +++ b/Essentials/src/main/java/com/earth2me/essentials/perm/impl/SuperpermsHandler.java @@ -58,7 +58,7 @@ public class SuperpermsHandler implements IPermissionsHandler { * to respect default-false assignments. {@link org.bukkit.permissions.Permissible#isPermissionSet(String)} * will only return true for permissions that are set on an attachment, or that are a default that evaluates to true. * When resolving wildcards, we also want to detect permissions that are not in an attachment, but also won't evaluate - * to true for operators &em; since these are ones we've explicitly set to {@code false} in the {@code plugin.yml}

+ * to true for operators — since these are ones we've explicitly set to {@code false} in the {@code plugin.yml}

* *

For the resolution itself, we check whether the permission is either set on the permissible or explicitly not * granted to ops (i.e. deviating from the default). If so, the permission's value is returned. Otherwise, the portion diff --git a/Essentials/src/com/earth2me/essentials/register/payment/Method.java b/Essentials/src/main/java/com/earth2me/essentials/register/payment/Method.java similarity index 95% rename from Essentials/src/com/earth2me/essentials/register/payment/Method.java rename to Essentials/src/main/java/com/earth2me/essentials/register/payment/Method.java index 40763666a..7c12f0aa1 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/Method.java +++ b/Essentials/src/main/java/com/earth2me/essentials/register/payment/Method.java @@ -5,23 +5,23 @@ import org.bukkit.plugin.Plugin; /** * Interface to be implemented by a payment method. * Copyright (C) 2011 - * AOL license + * AOL license <http://aol.nexua.org> *

* For more information about the licensing of this code in EssentialsX, see below: - * https://gist.github.com/md678685/0935441c9573c030c8bd5a2e604aeec3 + * https://gist.github.com/mdcfe/0935441c9573c030c8bd5a2e604aeec3 * - * @author Nijikokun (@nijikokun) + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) */ public interface Method { /** * Encodes the Plugin into an Object disguised as the Plugin. If you want the original Plugin Class you must cast it * to the correct Plugin, to do so you have to verify the name and or version then cast. - *

+ *

*

      *  if(method.getName().equalsIgnoreCase("iConomy"))
      *   iConomy plugin = ((iConomy)method.getPlugin());
* - * @return Object + * @return {@link Object}! * @see #getName() * @see #getVersion() */ diff --git a/Essentials/src/com/earth2me/essentials/register/payment/Methods.java b/Essentials/src/main/java/com/earth2me/essentials/register/payment/Methods.java similarity index 94% rename from Essentials/src/com/earth2me/essentials/register/payment/Methods.java rename to Essentials/src/main/java/com/earth2me/essentials/register/payment/Methods.java index e71fc35ce..2a69c42a6 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/Methods.java +++ b/Essentials/src/main/java/com/earth2me/essentials/register/payment/Methods.java @@ -9,23 +9,25 @@ import java.util.Set; /** * The Methods initializes Methods that utilize the Method interface based on a "first come, first served" * basis. - *

+ *

* Allowing you to check whether a payment method exists or not. - *

+ *

* Methods also allows you to set a preferred method of payment before it captures payment plugins in the initialization * process. - *

+ *

* in * bukkit.yml:

  *  economy:
  *      preferred: "iConomy"
  * 
*

+ * Copyright (C) 2011 + * AOL license <http://aol.nexua.org> + *

* For more information about the licensing of this code in EssentialsX, see below: - * https://gist.github.com/md678685/0935441c9573c030c8bd5a2e604aeec3 + * https://gist.github.com/mdcfe/0935441c9573c030c8bd5a2e604aeec3 * - * @author Nijikokun (@nijikokun) @copyright: Copyright (C) 2011 @license: AOL license - * + * @author Nijikokun <nijikokun@shortmail.com> (@nijikokun) */ public final class Methods { private static final Set Methods = new HashSet<>(); @@ -40,7 +42,7 @@ public final class Methods { } /** - * Implement all methods along with their respective name & class. + * Implement all methods along with their respective name & class. */ public static void init() { if (!Methods.isEmpty()) { @@ -82,7 +84,7 @@ public final class Methods { /** * Returns an array of payment method names that have been loaded through the _init method. * - * @return Set - Array of payment methods that are loaded. + * @return Set of names of payment methods that are loaded. * @see #setMethod(PluginManager) */ public static Set getDependencies() { diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java b/Essentials/src/main/java/com/earth2me/essentials/register/payment/methods/VaultEco.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/register/payment/methods/VaultEco.java rename to Essentials/src/main/java/com/earth2me/essentials/register/payment/methods/VaultEco.java diff --git a/Essentials/src/com/earth2me/essentials/settings/Jails.java b/Essentials/src/main/java/com/earth2me/essentials/settings/Jails.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/settings/Jails.java rename to Essentials/src/main/java/com/earth2me/essentials/settings/Jails.java diff --git a/Essentials/src/com/earth2me/essentials/settings/Spawns.java b/Essentials/src/main/java/com/earth2me/essentials/settings/Spawns.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/settings/Spawns.java rename to Essentials/src/main/java/com/earth2me/essentials/settings/Spawns.java diff --git a/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java b/Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/EssentialsSign.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignBalance.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignBalance.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignBalance.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignBalance.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignBlockListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignBlockListener.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignBuy.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignBuy.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignBuy.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignBuy.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignDisposal.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignDisposal.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignDisposal.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignDisposal.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignEnchant.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignEnchant.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignEnchant.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignEnchant.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignEntityListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignEntityListener.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignEntityListener.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignException.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignException.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignException.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignFree.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignFree.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignFree.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignFree.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignGameMode.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignGameMode.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignGameMode.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignGameMode.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignHeal.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignHeal.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignHeal.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignHeal.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignInfo.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignInfo.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignInfo.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignInfo.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignKit.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignKit.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignKit.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignKit.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignMail.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignMail.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignMail.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignMail.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignPlayerListener.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignPlayerListener.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignPlayerListener.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignProtection.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignProtection.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignProtection.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignProtection.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignRepair.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignRepair.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignRepair.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignRepair.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignSell.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignSell.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignSell.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignSell.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignSpawnmob.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignSpawnmob.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignTime.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignTime.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignTime.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignTime.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignTrade.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignTrade.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignTrade.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignWarp.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignWarp.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignWarp.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignWarp.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignWeather.java b/Essentials/src/main/java/com/earth2me/essentials/signs/SignWeather.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/SignWeather.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/SignWeather.java diff --git a/Essentials/src/com/earth2me/essentials/signs/Signs.java b/Essentials/src/main/java/com/earth2me/essentials/signs/Signs.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/signs/Signs.java rename to Essentials/src/main/java/com/earth2me/essentials/signs/Signs.java diff --git a/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java b/Essentials/src/main/java/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java diff --git a/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileWriter.java b/Essentials/src/main/java/com/earth2me/essentials/storage/AbstractDelayedYamlFileWriter.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileWriter.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/AbstractDelayedYamlFileWriter.java diff --git a/Essentials/src/com/earth2me/essentials/storage/AsyncStorageObjectHolder.java b/Essentials/src/main/java/com/earth2me/essentials/storage/AsyncStorageObjectHolder.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/AsyncStorageObjectHolder.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/AsyncStorageObjectHolder.java diff --git a/Essentials/src/com/earth2me/essentials/storage/BukkitConstructor.java b/Essentials/src/main/java/com/earth2me/essentials/storage/BukkitConstructor.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/BukkitConstructor.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/BukkitConstructor.java diff --git a/Essentials/src/com/earth2me/essentials/storage/Comment.java b/Essentials/src/main/java/com/earth2me/essentials/storage/Comment.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/Comment.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/Comment.java diff --git a/Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java b/Essentials/src/main/java/com/earth2me/essentials/storage/EnchantmentLevel.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/EnchantmentLevel.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/EnchantmentLevel.java diff --git a/Essentials/src/com/earth2me/essentials/storage/IStorageObjectHolder.java b/Essentials/src/main/java/com/earth2me/essentials/storage/IStorageObjectHolder.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/IStorageObjectHolder.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/IStorageObjectHolder.java diff --git a/Essentials/src/com/earth2me/essentials/storage/IStorageReader.java b/Essentials/src/main/java/com/earth2me/essentials/storage/IStorageReader.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/IStorageReader.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/IStorageReader.java diff --git a/Essentials/src/com/earth2me/essentials/storage/IStorageWriter.java b/Essentials/src/main/java/com/earth2me/essentials/storage/IStorageWriter.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/IStorageWriter.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/IStorageWriter.java diff --git a/Essentials/src/com/earth2me/essentials/storage/ListType.java b/Essentials/src/main/java/com/earth2me/essentials/storage/ListType.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/ListType.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/ListType.java diff --git a/Essentials/src/com/earth2me/essentials/storage/MapKeyType.java b/Essentials/src/main/java/com/earth2me/essentials/storage/MapKeyType.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/MapKeyType.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/MapKeyType.java diff --git a/Essentials/src/com/earth2me/essentials/storage/MapValueType.java b/Essentials/src/main/java/com/earth2me/essentials/storage/MapValueType.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/MapValueType.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/MapValueType.java diff --git a/Essentials/src/com/earth2me/essentials/storage/ObjectLoadException.java b/Essentials/src/main/java/com/earth2me/essentials/storage/ObjectLoadException.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/ObjectLoadException.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/ObjectLoadException.java diff --git a/Essentials/src/com/earth2me/essentials/storage/StorageObject.java b/Essentials/src/main/java/com/earth2me/essentials/storage/StorageObject.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/StorageObject.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/StorageObject.java diff --git a/Essentials/src/com/earth2me/essentials/storage/YamlStorageReader.java b/Essentials/src/main/java/com/earth2me/essentials/storage/YamlStorageReader.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/YamlStorageReader.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/YamlStorageReader.java diff --git a/Essentials/src/com/earth2me/essentials/storage/YamlStorageWriter.java b/Essentials/src/main/java/com/earth2me/essentials/storage/YamlStorageWriter.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/storage/YamlStorageWriter.java rename to Essentials/src/main/java/com/earth2me/essentials/storage/YamlStorageWriter.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/BookInput.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/BookInput.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/BookInput.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/BookInput.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/BookPager.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/BookPager.java similarity index 96% rename from Essentials/src/com/earth2me/essentials/textreader/BookPager.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/BookPager.java index e000419a6..b67191d59 100644 --- a/Essentials/src/com/earth2me/essentials/textreader/BookPager.java +++ b/Essentials/src/main/java/com/earth2me/essentials/textreader/BookPager.java @@ -1,5 +1,7 @@ package com.earth2me.essentials.textreader; +import org.bukkit.ChatColor; + import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -66,7 +68,7 @@ public class BookPager { forcePageEnd = true; } - if (length >= charMax || (letter == '\u00a7' && length + 1 >= charMax)) { + if (length >= charMax || (letter == ChatColor.COLOR_CHAR && length + 1 >= charMax)) { int pos = pointer; int rollback = 0; while (pos > start && pageLine.charAt(pos) != ' ' && pageLine.charAt(pos) != "\n".charAt(0)) { @@ -92,7 +94,7 @@ public class BookPager { pageLength++; - if (letter == '\u00a7' && pointer + 1 < lineLength) { + if (letter == ChatColor.COLOR_CHAR && pointer + 1 < lineLength) { final char nextLetter = pageLine.charAt(pointer + 1); if (nextLetter == 'l' || nextLetter == 'L') { weight = 1.25; diff --git a/Essentials/src/com/earth2me/essentials/textreader/HelpInput.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/HelpInput.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/HelpInput.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/HelpInput.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/IText.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/IText.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/IText.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/IText.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/KeywordReplacer.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/SimpleTextInput.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/SimpleTextInput.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/SimpleTextPager.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/SimpleTextPager.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/SimpleTextPager.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/SimpleTextPager.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/TextInput.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/TextInput.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/TextInput.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/TextInput.java diff --git a/Essentials/src/com/earth2me/essentials/textreader/TextPager.java b/Essentials/src/main/java/com/earth2me/essentials/textreader/TextPager.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/textreader/TextPager.java rename to Essentials/src/main/java/com/earth2me/essentials/textreader/TextPager.java diff --git a/Essentials/src/com/earth2me/essentials/utils/DateUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/DateUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/DateUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/DateUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/DescParseTickFormat.java b/Essentials/src/main/java/com/earth2me/essentials/utils/DescParseTickFormat.java similarity index 99% rename from Essentials/src/com/earth2me/essentials/utils/DescParseTickFormat.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/DescParseTickFormat.java index f978fa05c..5d37f9d89 100644 --- a/Essentials/src/com/earth2me/essentials/utils/DescParseTickFormat.java +++ b/Essentials/src/main/java/com/earth2me/essentials/utils/DescParseTickFormat.java @@ -15,7 +15,7 @@ import static com.earth2me.essentials.I18n.tl; /** * This utility class is used for converting between the ingame time in ticks to ingame time as a friendly string. Note * that the time is INGAME. - *

+ *

* http://www.minecraftwiki.net/wiki/Day/night_cycle * * @author Olof Larsson diff --git a/Essentials/src/com/earth2me/essentials/utils/EnumUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/EnumUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/EnumUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/EnumUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/FloatUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/FloatUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/FloatUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/FloatUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/FormatUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/FormatUtil.java similarity index 95% rename from Essentials/src/com/earth2me/essentials/utils/FormatUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/FormatUtil.java index afcdb2620..f63b75850 100644 --- a/Essentials/src/com/earth2me/essentials/utils/FormatUtil.java +++ b/Essentials/src/main/java/com/earth2me/essentials/utils/FormatUtil.java @@ -16,9 +16,9 @@ public final class FormatUtil { private static final Set FORMATS = EnumSet.of(ChatColor.BOLD, ChatColor.STRIKETHROUGH, ChatColor.UNDERLINE, ChatColor.ITALIC, ChatColor.RESET); private static final Set MAGIC = EnumSet.of(ChatColor.MAGIC); //Vanilla patterns used to strip existing formats - private static final Pattern STRIP_ALL_PATTERN = Pattern.compile("\u00a7+([0-9a-fk-orA-FK-OR])"); + private static final Pattern STRIP_ALL_PATTERN = Pattern.compile(ChatColor.COLOR_CHAR + "+([0-9a-fk-orA-FK-OR])"); //Pattern used to strip md_5 legacy hex hack - private static final Pattern STRIP_RGB_PATTERN = Pattern.compile("\u00a7x((?:\u00a7[0-9a-fA-F]){6})"); + private static final Pattern STRIP_RGB_PATTERN = Pattern.compile(ChatColor.COLOR_CHAR + "x((?:" + ChatColor.COLOR_CHAR + "[0-9a-fA-F]){6})"); //Essentials '&' convention colour codes private static final Pattern REPLACE_ALL_PATTERN = Pattern.compile("(&)?&([0-9a-fk-orA-FK-OR])"); private static final Pattern REPLACE_ALL_RGB_PATTERN = Pattern.compile("(&)?&#([0-9a-fA-F]{6})"); @@ -75,7 +75,7 @@ public final class FormatUtil { final char code = legacyMatcher.group(2).toLowerCase(Locale.ROOT).charAt(0); for (final ChatColor color : supported) { if (color.getChar() == code) { - legacyMatcher.appendReplacement(legacyBuilder, "\u00a7$2"); + legacyMatcher.appendReplacement(legacyBuilder, ChatColor.COLOR_CHAR + "$2"); continue legacyLoop; } } @@ -122,9 +122,9 @@ public final class FormatUtil { } Color.decode("#" + hexColor); final StringBuilder assembledColorCode = new StringBuilder(); - assembledColorCode.append("\u00a7x"); + assembledColorCode.append(ChatColor.COLOR_CHAR + "x"); for (final char curChar : hexColor.toCharArray()) { - assembledColorCode.append("\u00a7").append(curChar); + assembledColorCode.append(ChatColor.COLOR_CHAR).append(curChar); } return assembledColorCode.toString(); } @@ -159,7 +159,7 @@ public final class FormatUtil { final Matcher rgbMatcher = STRIP_RGB_PATTERN.matcher(message); final boolean rgb = user.isAuthorized(permBase + ".rgb"); while (rgbMatcher.find()) { - final String code = rgbMatcher.group(1).replace("\u00a7", ""); + final String code = rgbMatcher.group(1).replace(String.valueOf(ChatColor.COLOR_CHAR), ""); if (rgb) { rgbMatcher.appendReplacement(rgbBuilder, "&#" + code); continue; @@ -249,7 +249,7 @@ public final class FormatUtil { } public static String lastCode(final String input) { - final int pos = input.lastIndexOf('\u00a7'); + final int pos = input.lastIndexOf(ChatColor.COLOR_CHAR); if (pos == -1 || (pos + 1) == input.length()) { return ""; } diff --git a/Essentials/src/com/earth2me/essentials/utils/LocationUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/LocationUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/LocationUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/LocationUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/MaterialUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/MaterialUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/MaterialUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/MaterialUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/NumberUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/NumberUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/NumberUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/NumberUtil.java diff --git a/Essentials/src/com/earth2me/essentials/utils/StringUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/StringUtil.java similarity index 98% rename from Essentials/src/com/earth2me/essentials/utils/StringUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/StringUtil.java index e4d03bfb1..1598de680 100644 --- a/Essentials/src/com/earth2me/essentials/utils/StringUtil.java +++ b/Essentials/src/main/java/com/earth2me/essentials/utils/StringUtil.java @@ -8,6 +8,7 @@ import java.util.regex.Pattern; public final class StringUtil { private static final Pattern INVALIDFILECHARS = Pattern.compile("[^a-z0-9-]"); private static final Pattern STRICTINVALIDCHARS = Pattern.compile("[^a-z0-9]"); + @SuppressWarnings("CheckStyle") private static final Pattern INVALIDCHARS = Pattern.compile("[^\t\n\r\u0020-\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFC]"); private StringUtil() { diff --git a/Essentials/src/com/earth2me/essentials/utils/VersionUtil.java b/Essentials/src/main/java/com/earth2me/essentials/utils/VersionUtil.java similarity index 100% rename from Essentials/src/com/earth2me/essentials/utils/VersionUtil.java rename to Essentials/src/main/java/com/earth2me/essentials/utils/VersionUtil.java diff --git a/Essentials/src/net/ess3/api/Economy.java b/Essentials/src/main/java/net/ess3/api/Economy.java similarity index 100% rename from Essentials/src/net/ess3/api/Economy.java rename to Essentials/src/main/java/net/ess3/api/Economy.java diff --git a/Essentials/src/net/ess3/api/IEssentials.java b/Essentials/src/main/java/net/ess3/api/IEssentials.java similarity index 97% rename from Essentials/src/net/ess3/api/IEssentials.java rename to Essentials/src/main/java/net/ess3/api/IEssentials.java index a9039d3b9..92ebfe981 100644 --- a/Essentials/src/net/ess3/api/IEssentials.java +++ b/Essentials/src/main/java/net/ess3/api/IEssentials.java @@ -39,7 +39,7 @@ public interface IEssentials extends com.earth2me.essentials.IEssentials { * Note: external plugins should generally avoid using this. If you want to add custom items from your plugin, * you probably want to implement your own {@link net.ess3.api.IItemDb.ItemResolver}. * - * @return + * @return The custom item resolver */ CustomItemResolver getCustomItemResolver(); } diff --git a/Essentials/src/net/ess3/api/II18n.java b/Essentials/src/main/java/net/ess3/api/II18n.java similarity index 100% rename from Essentials/src/net/ess3/api/II18n.java rename to Essentials/src/main/java/net/ess3/api/II18n.java diff --git a/Essentials/src/net/ess3/api/IItemDb.java b/Essentials/src/main/java/net/ess3/api/IItemDb.java similarity index 100% rename from Essentials/src/net/ess3/api/IItemDb.java rename to Essentials/src/main/java/net/ess3/api/IItemDb.java diff --git a/Essentials/src/net/ess3/api/IJails.java b/Essentials/src/main/java/net/ess3/api/IJails.java similarity index 100% rename from Essentials/src/net/ess3/api/IJails.java rename to Essentials/src/main/java/net/ess3/api/IJails.java diff --git a/Essentials/src/net/ess3/api/IReload.java b/Essentials/src/main/java/net/ess3/api/IReload.java similarity index 100% rename from Essentials/src/net/ess3/api/IReload.java rename to Essentials/src/main/java/net/ess3/api/IReload.java diff --git a/Essentials/src/net/ess3/api/ISettings.java b/Essentials/src/main/java/net/ess3/api/ISettings.java similarity index 100% rename from Essentials/src/net/ess3/api/ISettings.java rename to Essentials/src/main/java/net/ess3/api/ISettings.java diff --git a/Essentials/src/net/ess3/api/ITeleport.java b/Essentials/src/main/java/net/ess3/api/ITeleport.java similarity index 100% rename from Essentials/src/net/ess3/api/ITeleport.java rename to Essentials/src/main/java/net/ess3/api/ITeleport.java diff --git a/Essentials/src/net/ess3/api/IUser.java b/Essentials/src/main/java/net/ess3/api/IUser.java similarity index 100% rename from Essentials/src/net/ess3/api/IUser.java rename to Essentials/src/main/java/net/ess3/api/IUser.java diff --git a/Essentials/src/net/ess3/api/IWarps.java b/Essentials/src/main/java/net/ess3/api/IWarps.java similarity index 100% rename from Essentials/src/net/ess3/api/IWarps.java rename to Essentials/src/main/java/net/ess3/api/IWarps.java diff --git a/Essentials/src/net/ess3/api/InvalidNameException.java b/Essentials/src/main/java/net/ess3/api/InvalidNameException.java similarity index 100% rename from Essentials/src/net/ess3/api/InvalidNameException.java rename to Essentials/src/main/java/net/ess3/api/InvalidNameException.java diff --git a/Essentials/src/net/ess3/api/InvalidWorldException.java b/Essentials/src/main/java/net/ess3/api/InvalidWorldException.java similarity index 100% rename from Essentials/src/net/ess3/api/InvalidWorldException.java rename to Essentials/src/main/java/net/ess3/api/InvalidWorldException.java diff --git a/Essentials/src/net/ess3/api/MaxMoneyException.java b/Essentials/src/main/java/net/ess3/api/MaxMoneyException.java similarity index 100% rename from Essentials/src/net/ess3/api/MaxMoneyException.java rename to Essentials/src/main/java/net/ess3/api/MaxMoneyException.java diff --git a/Essentials/src/net/ess3/api/NoLoanPermittedException.java b/Essentials/src/main/java/net/ess3/api/NoLoanPermittedException.java similarity index 100% rename from Essentials/src/net/ess3/api/NoLoanPermittedException.java rename to Essentials/src/main/java/net/ess3/api/NoLoanPermittedException.java diff --git a/Essentials/src/net/ess3/api/PluginKey.java b/Essentials/src/main/java/net/ess3/api/PluginKey.java similarity index 100% rename from Essentials/src/net/ess3/api/PluginKey.java rename to Essentials/src/main/java/net/ess3/api/PluginKey.java diff --git a/Essentials/src/net/ess3/api/UserDoesNotExistException.java b/Essentials/src/main/java/net/ess3/api/UserDoesNotExistException.java similarity index 100% rename from Essentials/src/net/ess3/api/UserDoesNotExistException.java rename to Essentials/src/main/java/net/ess3/api/UserDoesNotExistException.java diff --git a/Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/AfkStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/AfkStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/AfkStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/FlyStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/FlyStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/FlyStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/FlyStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/GodStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/GodStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/GodStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/IgnoreStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/IgnoreStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/IgnoreStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/JailStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/JailStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/JailStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/KitClaimEvent.java b/Essentials/src/main/java/net/ess3/api/events/KitClaimEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/KitClaimEvent.java rename to Essentials/src/main/java/net/ess3/api/events/KitClaimEvent.java diff --git a/Essentials/src/net/ess3/api/events/LocalChatSpyEvent.java b/Essentials/src/main/java/net/ess3/api/events/LocalChatSpyEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/LocalChatSpyEvent.java rename to Essentials/src/main/java/net/ess3/api/events/LocalChatSpyEvent.java diff --git a/Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/MuteStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/MuteStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/MuteStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/NickChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/NickChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/NickChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/NickChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/PrivateMessagePreSendEvent.java b/Essentials/src/main/java/net/ess3/api/events/PrivateMessagePreSendEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/PrivateMessagePreSendEvent.java rename to Essentials/src/main/java/net/ess3/api/events/PrivateMessagePreSendEvent.java diff --git a/Essentials/src/net/ess3/api/events/PrivateMessageSentEvent.java b/Essentials/src/main/java/net/ess3/api/events/PrivateMessageSentEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/PrivateMessageSentEvent.java rename to Essentials/src/main/java/net/ess3/api/events/PrivateMessageSentEvent.java diff --git a/Essentials/src/net/ess3/api/events/SignBreakEvent.java b/Essentials/src/main/java/net/ess3/api/events/SignBreakEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/SignBreakEvent.java rename to Essentials/src/main/java/net/ess3/api/events/SignBreakEvent.java diff --git a/Essentials/src/net/ess3/api/events/SignCreateEvent.java b/Essentials/src/main/java/net/ess3/api/events/SignCreateEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/SignCreateEvent.java rename to Essentials/src/main/java/net/ess3/api/events/SignCreateEvent.java diff --git a/Essentials/src/net/ess3/api/events/SignEvent.java b/Essentials/src/main/java/net/ess3/api/events/SignEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/SignEvent.java rename to Essentials/src/main/java/net/ess3/api/events/SignEvent.java diff --git a/Essentials/src/net/ess3/api/events/SignInteractEvent.java b/Essentials/src/main/java/net/ess3/api/events/SignInteractEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/SignInteractEvent.java rename to Essentials/src/main/java/net/ess3/api/events/SignInteractEvent.java diff --git a/Essentials/src/net/ess3/api/events/StateChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/StateChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/StateChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/StateChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/StatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/StatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/StatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/StatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/TPARequestEvent.java b/Essentials/src/main/java/net/ess3/api/events/TPARequestEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/TPARequestEvent.java rename to Essentials/src/main/java/net/ess3/api/events/TPARequestEvent.java diff --git a/Essentials/src/net/ess3/api/events/UserBalanceUpdateEvent.java b/Essentials/src/main/java/net/ess3/api/events/UserBalanceUpdateEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/UserBalanceUpdateEvent.java rename to Essentials/src/main/java/net/ess3/api/events/UserBalanceUpdateEvent.java diff --git a/Essentials/src/net/ess3/api/events/UserRandomTeleportEvent.java b/Essentials/src/main/java/net/ess3/api/events/UserRandomTeleportEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/UserRandomTeleportEvent.java rename to Essentials/src/main/java/net/ess3/api/events/UserRandomTeleportEvent.java diff --git a/Essentials/src/net/ess3/api/events/UserTeleportHomeEvent.java b/Essentials/src/main/java/net/ess3/api/events/UserTeleportHomeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/UserTeleportHomeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/UserTeleportHomeEvent.java diff --git a/Essentials/src/net/ess3/api/events/UserWarpEvent.java b/Essentials/src/main/java/net/ess3/api/events/UserWarpEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/UserWarpEvent.java rename to Essentials/src/main/java/net/ess3/api/events/UserWarpEvent.java diff --git a/Essentials/src/net/ess3/api/events/VanishStatusChangeEvent.java b/Essentials/src/main/java/net/ess3/api/events/VanishStatusChangeEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/VanishStatusChangeEvent.java rename to Essentials/src/main/java/net/ess3/api/events/VanishStatusChangeEvent.java diff --git a/Essentials/src/net/ess3/api/events/teleport/PreTeleportEvent.java b/Essentials/src/main/java/net/ess3/api/events/teleport/PreTeleportEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/teleport/PreTeleportEvent.java rename to Essentials/src/main/java/net/ess3/api/events/teleport/PreTeleportEvent.java diff --git a/Essentials/src/net/ess3/api/events/teleport/TeleportEvent.java b/Essentials/src/main/java/net/ess3/api/events/teleport/TeleportEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/teleport/TeleportEvent.java rename to Essentials/src/main/java/net/ess3/api/events/teleport/TeleportEvent.java diff --git a/Essentials/src/net/ess3/api/events/teleport/TeleportWarmupEvent.java b/Essentials/src/main/java/net/ess3/api/events/teleport/TeleportWarmupEvent.java similarity index 100% rename from Essentials/src/net/ess3/api/events/teleport/TeleportWarmupEvent.java rename to Essentials/src/main/java/net/ess3/api/events/teleport/TeleportWarmupEvent.java diff --git a/Essentials/src/book.txt b/Essentials/src/main/resources/book.txt similarity index 100% rename from Essentials/src/book.txt rename to Essentials/src/main/resources/book.txt diff --git a/Essentials/src/config.yml b/Essentials/src/main/resources/config.yml similarity index 100% rename from Essentials/src/config.yml rename to Essentials/src/main/resources/config.yml diff --git a/Essentials/src/custom.txt b/Essentials/src/main/resources/custom.txt similarity index 100% rename from Essentials/src/custom.txt rename to Essentials/src/main/resources/custom.txt diff --git a/Essentials/src/custom_items.yml b/Essentials/src/main/resources/custom_items.yml similarity index 100% rename from Essentials/src/custom_items.yml rename to Essentials/src/main/resources/custom_items.yml diff --git a/Essentials/src/info.txt b/Essentials/src/main/resources/info.txt similarity index 100% rename from Essentials/src/info.txt rename to Essentials/src/main/resources/info.txt diff --git a/Essentials/src/items.csv b/Essentials/src/main/resources/items.csv similarity index 100% rename from Essentials/src/items.csv rename to Essentials/src/main/resources/items.csv diff --git a/Essentials/src/items.json b/Essentials/src/main/resources/items.json similarity index 100% rename from Essentials/src/items.json rename to Essentials/src/main/resources/items.json diff --git a/Essentials/src/kits.yml b/Essentials/src/main/resources/kits.yml similarity index 100% rename from Essentials/src/kits.yml rename to Essentials/src/main/resources/kits.yml diff --git a/Essentials/src/messages.properties b/Essentials/src/main/resources/messages.properties similarity index 100% rename from Essentials/src/messages.properties rename to Essentials/src/main/resources/messages.properties diff --git a/Essentials/src/messages_bg.properties b/Essentials/src/main/resources/messages_bg.properties similarity index 100% rename from Essentials/src/messages_bg.properties rename to Essentials/src/main/resources/messages_bg.properties diff --git a/Essentials/src/messages_bs.properties b/Essentials/src/main/resources/messages_bs.properties similarity index 100% rename from Essentials/src/messages_bs.properties rename to Essentials/src/main/resources/messages_bs.properties diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/main/resources/messages_cs.properties similarity index 100% rename from Essentials/src/messages_cs.properties rename to Essentials/src/main/resources/messages_cs.properties diff --git a/Essentials/src/messages_da.properties b/Essentials/src/main/resources/messages_da.properties similarity index 100% rename from Essentials/src/messages_da.properties rename to Essentials/src/main/resources/messages_da.properties diff --git a/Essentials/src/messages_de.properties b/Essentials/src/main/resources/messages_de.properties similarity index 100% rename from Essentials/src/messages_de.properties rename to Essentials/src/main/resources/messages_de.properties diff --git a/Essentials/src/messages_el.properties b/Essentials/src/main/resources/messages_el.properties similarity index 100% rename from Essentials/src/messages_el.properties rename to Essentials/src/main/resources/messages_el.properties diff --git a/Essentials/src/messages_en.properties b/Essentials/src/main/resources/messages_en.properties similarity index 100% rename from Essentials/src/messages_en.properties rename to Essentials/src/main/resources/messages_en.properties diff --git a/Essentials/src/messages_en_GB.properties b/Essentials/src/main/resources/messages_en_GB.properties similarity index 100% rename from Essentials/src/messages_en_GB.properties rename to Essentials/src/main/resources/messages_en_GB.properties diff --git a/Essentials/src/messages_es.properties b/Essentials/src/main/resources/messages_es.properties similarity index 100% rename from Essentials/src/messages_es.properties rename to Essentials/src/main/resources/messages_es.properties diff --git a/Essentials/src/messages_et.properties b/Essentials/src/main/resources/messages_et.properties similarity index 100% rename from Essentials/src/messages_et.properties rename to Essentials/src/main/resources/messages_et.properties diff --git a/Essentials/src/messages_eu.properties b/Essentials/src/main/resources/messages_eu.properties similarity index 100% rename from Essentials/src/messages_eu.properties rename to Essentials/src/main/resources/messages_eu.properties diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/main/resources/messages_fi.properties similarity index 100% rename from Essentials/src/messages_fi.properties rename to Essentials/src/main/resources/messages_fi.properties diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/main/resources/messages_fr.properties similarity index 100% rename from Essentials/src/messages_fr.properties rename to Essentials/src/main/resources/messages_fr.properties diff --git a/Essentials/src/messages_he.properties b/Essentials/src/main/resources/messages_he.properties similarity index 100% rename from Essentials/src/messages_he.properties rename to Essentials/src/main/resources/messages_he.properties diff --git a/Essentials/src/messages_hr.properties b/Essentials/src/main/resources/messages_hr.properties similarity index 100% rename from Essentials/src/messages_hr.properties rename to Essentials/src/main/resources/messages_hr.properties diff --git a/Essentials/src/messages_hu.properties b/Essentials/src/main/resources/messages_hu.properties similarity index 100% rename from Essentials/src/messages_hu.properties rename to Essentials/src/main/resources/messages_hu.properties diff --git a/Essentials/src/messages_is_IS.properties b/Essentials/src/main/resources/messages_is_IS.properties similarity index 100% rename from Essentials/src/messages_is_IS.properties rename to Essentials/src/main/resources/messages_is_IS.properties diff --git a/Essentials/src/messages_it.properties b/Essentials/src/main/resources/messages_it.properties similarity index 100% rename from Essentials/src/messages_it.properties rename to Essentials/src/main/resources/messages_it.properties diff --git a/Essentials/src/messages_ja.properties b/Essentials/src/main/resources/messages_ja.properties similarity index 100% rename from Essentials/src/messages_ja.properties rename to Essentials/src/main/resources/messages_ja.properties diff --git a/Essentials/src/messages_ko.properties b/Essentials/src/main/resources/messages_ko.properties similarity index 100% rename from Essentials/src/messages_ko.properties rename to Essentials/src/main/resources/messages_ko.properties diff --git a/Essentials/src/messages_lt.properties b/Essentials/src/main/resources/messages_lt.properties similarity index 100% rename from Essentials/src/messages_lt.properties rename to Essentials/src/main/resources/messages_lt.properties diff --git a/Essentials/src/messages_lv_LV.properties b/Essentials/src/main/resources/messages_lv_LV.properties similarity index 100% rename from Essentials/src/messages_lv_LV.properties rename to Essentials/src/main/resources/messages_lv_LV.properties diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/main/resources/messages_nl.properties similarity index 100% rename from Essentials/src/messages_nl.properties rename to Essentials/src/main/resources/messages_nl.properties diff --git a/Essentials/src/messages_no.properties b/Essentials/src/main/resources/messages_no.properties similarity index 100% rename from Essentials/src/messages_no.properties rename to Essentials/src/main/resources/messages_no.properties diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/main/resources/messages_pl.properties similarity index 100% rename from Essentials/src/messages_pl.properties rename to Essentials/src/main/resources/messages_pl.properties diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/main/resources/messages_pt.properties similarity index 100% rename from Essentials/src/messages_pt.properties rename to Essentials/src/main/resources/messages_pt.properties diff --git a/Essentials/src/messages_pt_BR.properties b/Essentials/src/main/resources/messages_pt_BR.properties similarity index 100% rename from Essentials/src/messages_pt_BR.properties rename to Essentials/src/main/resources/messages_pt_BR.properties diff --git a/Essentials/src/messages_ro.properties b/Essentials/src/main/resources/messages_ro.properties similarity index 100% rename from Essentials/src/messages_ro.properties rename to Essentials/src/main/resources/messages_ro.properties diff --git a/Essentials/src/messages_ru.properties b/Essentials/src/main/resources/messages_ru.properties similarity index 100% rename from Essentials/src/messages_ru.properties rename to Essentials/src/main/resources/messages_ru.properties diff --git a/Essentials/src/messages_sk.properties b/Essentials/src/main/resources/messages_sk.properties similarity index 100% rename from Essentials/src/messages_sk.properties rename to Essentials/src/main/resources/messages_sk.properties diff --git a/Essentials/src/messages_sr.properties b/Essentials/src/main/resources/messages_sr.properties similarity index 100% rename from Essentials/src/messages_sr.properties rename to Essentials/src/main/resources/messages_sr.properties diff --git a/Essentials/src/messages_sr_CS.properties b/Essentials/src/main/resources/messages_sr_CS.properties similarity index 100% rename from Essentials/src/messages_sr_CS.properties rename to Essentials/src/main/resources/messages_sr_CS.properties diff --git a/Essentials/src/messages_sv.properties b/Essentials/src/main/resources/messages_sv.properties similarity index 100% rename from Essentials/src/messages_sv.properties rename to Essentials/src/main/resources/messages_sv.properties diff --git a/Essentials/src/messages_th.properties b/Essentials/src/main/resources/messages_th.properties similarity index 100% rename from Essentials/src/messages_th.properties rename to Essentials/src/main/resources/messages_th.properties diff --git a/Essentials/src/messages_tr.properties b/Essentials/src/main/resources/messages_tr.properties similarity index 100% rename from Essentials/src/messages_tr.properties rename to Essentials/src/main/resources/messages_tr.properties diff --git a/Essentials/src/messages_uk.properties b/Essentials/src/main/resources/messages_uk.properties similarity index 100% rename from Essentials/src/messages_uk.properties rename to Essentials/src/main/resources/messages_uk.properties diff --git a/Essentials/src/messages_vi.properties b/Essentials/src/main/resources/messages_vi.properties similarity index 100% rename from Essentials/src/messages_vi.properties rename to Essentials/src/main/resources/messages_vi.properties diff --git a/Essentials/src/messages_zh.properties b/Essentials/src/main/resources/messages_zh.properties similarity index 100% rename from Essentials/src/messages_zh.properties rename to Essentials/src/main/resources/messages_zh.properties diff --git a/Essentials/src/messages_zh_HK.properties b/Essentials/src/main/resources/messages_zh_HK.properties similarity index 100% rename from Essentials/src/messages_zh_HK.properties rename to Essentials/src/main/resources/messages_zh_HK.properties diff --git a/Essentials/src/messages_zh_TW.properties b/Essentials/src/main/resources/messages_zh_TW.properties similarity index 100% rename from Essentials/src/messages_zh_TW.properties rename to Essentials/src/main/resources/messages_zh_TW.properties diff --git a/Essentials/src/motd.txt b/Essentials/src/main/resources/motd.txt similarity index 100% rename from Essentials/src/motd.txt rename to Essentials/src/main/resources/motd.txt diff --git a/Essentials/src/plugin.yml b/Essentials/src/main/resources/plugin.yml similarity index 100% rename from Essentials/src/plugin.yml rename to Essentials/src/main/resources/plugin.yml diff --git a/Essentials/src/rules.txt b/Essentials/src/main/resources/rules.txt similarity index 100% rename from Essentials/src/rules.txt rename to Essentials/src/main/resources/rules.txt diff --git a/Essentials/src/tpr.yml b/Essentials/src/main/resources/tpr.yml similarity index 100% rename from Essentials/src/tpr.yml rename to Essentials/src/main/resources/tpr.yml diff --git a/Essentials/src/worth.yml b/Essentials/src/main/resources/worth.yml similarity index 100% rename from Essentials/src/worth.yml rename to Essentials/src/main/resources/worth.yml diff --git a/Essentials/test/com/earth2me/essentials/EconomyTest.java b/Essentials/src/test/java/com/earth2me/essentials/EconomyTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/EconomyTest.java rename to Essentials/src/test/java/com/earth2me/essentials/EconomyTest.java diff --git a/Essentials/test/com/earth2me/essentials/FakeServer.java b/Essentials/src/test/java/com/earth2me/essentials/FakeServer.java similarity index 99% rename from Essentials/test/com/earth2me/essentials/FakeServer.java rename to Essentials/src/test/java/com/earth2me/essentials/FakeServer.java index 59150ffcc..6ae104a6e 100644 --- a/Essentials/test/com/earth2me/essentials/FakeServer.java +++ b/Essentials/src/test/java/com/earth2me/essentials/FakeServer.java @@ -592,7 +592,9 @@ public class FakeServer implements Server { @Override public long getFirstPlayed() { throw new UnsupportedOperationException("Not supported yet."); - } @Override + } + + @Override public void setOp(final boolean bln) { throw new UnsupportedOperationException("Not supported yet."); } @@ -714,9 +716,6 @@ public class FakeServer implements Server { public void setStatistic(final Statistic statistic, final EntityType entityType, final int newValue) { throw new UnsupportedOperationException("Not supported yet."); } - - - }; } @@ -858,7 +857,9 @@ public class FakeServer implements Server { @Override public void acceptConversationInput(final String input) { throw new UnsupportedOperationException("Not supported yet."); - } @Override + } + + @Override public void setOp(final boolean value) { throw new UnsupportedOperationException("Not supported yet."); } diff --git a/Essentials/test/com/earth2me/essentials/MessagingTest.java b/Essentials/src/test/java/com/earth2me/essentials/MessagingTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/MessagingTest.java rename to Essentials/src/test/java/com/earth2me/essentials/MessagingTest.java diff --git a/Essentials/test/com/earth2me/essentials/StorageTest.java b/Essentials/src/test/java/com/earth2me/essentials/StorageTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/StorageTest.java rename to Essentials/src/test/java/com/earth2me/essentials/StorageTest.java diff --git a/Essentials/test/com/earth2me/essentials/ToggleTest.java b/Essentials/src/test/java/com/earth2me/essentials/ToggleTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/ToggleTest.java rename to Essentials/src/test/java/com/earth2me/essentials/ToggleTest.java diff --git a/Essentials/test/com/earth2me/essentials/UserTest.java b/Essentials/src/test/java/com/earth2me/essentials/UserTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/UserTest.java rename to Essentials/src/test/java/com/earth2me/essentials/UserTest.java diff --git a/Essentials/test/com/earth2me/essentials/UtilTest.java b/Essentials/src/test/java/com/earth2me/essentials/UtilTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/UtilTest.java rename to Essentials/src/test/java/com/earth2me/essentials/UtilTest.java diff --git a/Essentials/test/com/earth2me/essentials/utils/FormatUtilTest.java b/Essentials/src/test/java/com/earth2me/essentials/utils/FormatUtilTest.java similarity index 100% rename from Essentials/test/com/earth2me/essentials/utils/FormatUtilTest.java rename to Essentials/src/test/java/com/earth2me/essentials/utils/FormatUtilTest.java diff --git a/EssentialsAntiBuild/build.gradle b/EssentialsAntiBuild/build.gradle new file mode 100644 index 000000000..9bfe75531 --- /dev/null +++ b/EssentialsAntiBuild/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compileOnly project(':EssentialsX') +} diff --git a/EssentialsAntiBuild/pom.xml b/EssentialsAntiBuild/pom.xml deleted file mode 100644 index db1ab2267..000000000 --- a/EssentialsAntiBuild/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXAntiBuild - - - EssentialsXAntiBuild-${full.version} - - - - - net.ess3 - EssentialsX - ${project.version} - - - \ No newline at end of file diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/AntiBuildConfig.java similarity index 100% rename from EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java rename to EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/AntiBuildConfig.java diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java similarity index 100% rename from EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java rename to EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java similarity index 100% rename from EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java rename to EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsConnect.java similarity index 100% rename from EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java rename to EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsConnect.java diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/IAntiBuild.java similarity index 100% rename from EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java rename to EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/IAntiBuild.java diff --git a/EssentialsAntiBuild/src/plugin.yml b/EssentialsAntiBuild/src/main/resources/plugin.yml similarity index 100% rename from EssentialsAntiBuild/src/plugin.yml rename to EssentialsAntiBuild/src/main/resources/plugin.yml diff --git a/EssentialsChat/build.gradle b/EssentialsChat/build.gradle new file mode 100644 index 000000000..9bfe75531 --- /dev/null +++ b/EssentialsChat/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compileOnly project(':EssentialsX') +} diff --git a/EssentialsChat/pom.xml b/EssentialsChat/pom.xml deleted file mode 100644 index 9207021ad..000000000 --- a/EssentialsChat/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXChat - - - EssentialsXChat-${full.version} - - - - - net.ess3 - EssentialsX - ${project.version} - - - \ No newline at end of file diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/ChatStore.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/ChatStore.java diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChat.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChat.java diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayer.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayer.java diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java b/EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java similarity index 100% rename from EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java rename to EssentialsChat/src/main/java/com/earth2me/essentials/chat/EssentialsChatPlayerListenerNormal.java diff --git a/EssentialsChat/src/plugin.yml b/EssentialsChat/src/main/resources/plugin.yml similarity index 100% rename from EssentialsChat/src/plugin.yml rename to EssentialsChat/src/main/resources/plugin.yml diff --git a/EssentialsGeoIP/build.gradle b/EssentialsGeoIP/build.gradle new file mode 100644 index 000000000..585fe3afa --- /dev/null +++ b/EssentialsGeoIP/build.gradle @@ -0,0 +1,14 @@ +dependencies { + compileOnly project(':EssentialsX') + implementation 'com.maxmind.geoip2:geoip2:2.12.0' + implementation 'javatar:javatar:2.5' +} + +shadowJar { + dependencies { + include (dependency('com.maxmind.geoip2:geoip2')) + include (dependency('com.maxmind.db:maxmind-db')) + include (dependency('javatar:javatar')) + include (dependency('com.fasterxml.jackson.core:')) + } +} diff --git a/EssentialsGeoIP/pom.xml b/EssentialsGeoIP/pom.xml deleted file mode 100644 index 0d4d2b077..000000000 --- a/EssentialsGeoIP/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXGeoIP - - - EssentialsXGeoIP-${full.version} - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.1 - - - package - - shade - - - - - false - true - - - javatar:javatar - com.maxmind.geoip2:geoip2 - com.maxmind.db:maxmind-db - com.fasterxml.jackson.core:* - - - - - - - - - - net.ess3 - EssentialsX - ${project.version} - - - com.maxmind.geoip2 - geoip2 - 2.12.0 - - - javatar - javatar - 2.5 - - - \ No newline at end of file diff --git a/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIP.java b/EssentialsGeoIP/src/main/java/com/earth2me/essentials/geoip/EssentialsGeoIP.java similarity index 100% rename from EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIP.java rename to EssentialsGeoIP/src/main/java/com/earth2me/essentials/geoip/EssentialsGeoIP.java diff --git a/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java b/EssentialsGeoIP/src/main/java/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java similarity index 100% rename from EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java rename to EssentialsGeoIP/src/main/java/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java diff --git a/EssentialsGeoIP/src/config.yml b/EssentialsGeoIP/src/main/resources/config.yml similarity index 100% rename from EssentialsGeoIP/src/config.yml rename to EssentialsGeoIP/src/main/resources/config.yml diff --git a/EssentialsGeoIP/src/plugin.yml b/EssentialsGeoIP/src/main/resources/plugin.yml similarity index 100% rename from EssentialsGeoIP/src/plugin.yml rename to EssentialsGeoIP/src/main/resources/plugin.yml diff --git a/EssentialsProtect/build.gradle b/EssentialsProtect/build.gradle new file mode 100644 index 000000000..9bfe75531 --- /dev/null +++ b/EssentialsProtect/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compileOnly project(':EssentialsX') +} diff --git a/EssentialsProtect/pom.xml b/EssentialsProtect/pom.xml deleted file mode 100644 index 966929824..000000000 --- a/EssentialsProtect/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXProtect - - - EssentialsXProtect-${full.version} - - - - - net.ess3 - EssentialsX - ${project.version} - - - \ No newline at end of file diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EmergencyListener.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EmergencyListener.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EmergencyListener.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EmergencyListener.java diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsConnect.java similarity index 97% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsConnect.java index 41a97a9df..42bb5a0b4 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java +++ b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsConnect.java @@ -1,46 +1,46 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.IConf; -import net.ess3.api.IEssentials; -import org.bukkit.plugin.Plugin; - -import java.util.logging.Level; -import java.util.logging.Logger; - -import static com.earth2me.essentials.I18n.tl; - -class EssentialsConnect { - private static final Logger logger = Logger.getLogger("EssentialsProtect"); - private final IEssentials ess; - private final IProtect protect; - - EssentialsConnect(final Plugin essPlugin, final Plugin essProtect) { - if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion())) { - logger.log(Level.WARNING, tl("versionMismatchAll")); - } - ess = (IEssentials) essPlugin; - protect = (IProtect) essProtect; - final ProtectReloader pr = new ProtectReloader(); - pr.reloadConfig(); - ess.addReloadListener(pr); - } - - IEssentials getEssentials() { - return ess; - } - - private class ProtectReloader implements IConf { - @Override - public void reloadConfig() { - for (final ProtectConfig protectConfig : ProtectConfig.values()) { - if (protectConfig.isList()) { - protect.getSettingsList().put(protectConfig, ess.getSettings().getProtectList(protectConfig.getConfigName())); - } else if (protectConfig.isString()) { - protect.getSettingsString().put(protectConfig, ess.getSettings().getProtectString(protectConfig.getConfigName())); - } else { - protect.getSettingsBoolean().put(protectConfig, ess.getSettings().getProtectBoolean(protectConfig.getConfigName(), protectConfig.getDefaultValueBoolean())); - } - } - } - } -} +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.IConf; +import net.ess3.api.IEssentials; +import org.bukkit.plugin.Plugin; + +import java.util.logging.Level; +import java.util.logging.Logger; + +import static com.earth2me.essentials.I18n.tl; + +class EssentialsConnect { + private static final Logger logger = Logger.getLogger("EssentialsProtect"); + private final IEssentials ess; + private final IProtect protect; + + EssentialsConnect(final Plugin essPlugin, final Plugin essProtect) { + if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion())) { + logger.log(Level.WARNING, tl("versionMismatchAll")); + } + ess = (IEssentials) essPlugin; + protect = (IProtect) essProtect; + final ProtectReloader pr = new ProtectReloader(); + pr.reloadConfig(); + ess.addReloadListener(pr); + } + + IEssentials getEssentials() { + return ess; + } + + private class ProtectReloader implements IConf { + @Override + public void reloadConfig() { + for (final ProtectConfig protectConfig : ProtectConfig.values()) { + if (protectConfig.isList()) { + protect.getSettingsList().put(protectConfig, ess.getSettings().getProtectList(protectConfig.getConfigName())); + } else if (protectConfig.isString()) { + protect.getSettingsString().put(protectConfig, ess.getSettings().getProtectString(protectConfig.getConfigName())); + } else { + protect.getSettingsBoolean().put(protectConfig, ess.getSettings().getProtectBoolean(protectConfig.getConfigName(), protectConfig.getDefaultValueBoolean())); + } + } + } + } +} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtect.java similarity index 97% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtect.java index a57ba56e6..ff673dde2 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java +++ b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtect.java @@ -1,127 +1,127 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.metrics.MetricsWrapper; -import com.earth2me.essentials.utils.VersionUtil; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.HandlerList; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginManager; -import org.bukkit.plugin.java.JavaPlugin; - -import java.util.EnumMap; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; - -public class EssentialsProtect extends JavaPlugin implements IProtect { - private final Map settingsBoolean = new EnumMap<>(ProtectConfig.class); - private final Map settingsString = new EnumMap<>(ProtectConfig.class); - private final Map> settingsList = new EnumMap<>(ProtectConfig.class); - private final EmergencyListener emListener = new EmergencyListener(this); - private EssentialsConnect ess = null; - private transient MetricsWrapper metrics = null; - - @Override - public void onEnable() { - final PluginManager pm = this.getServer().getPluginManager(); - final Plugin essPlugin = pm.getPlugin("Essentials"); - if (essPlugin == null || !essPlugin.isEnabled()) { - enableEmergencyMode(pm); - return; - } - - initialize(pm, essPlugin); - - if (metrics == null) { - metrics = new MetricsWrapper(this, 3816, false); - } - } - - private void initialize(final PluginManager pm, final Plugin essPlugin) { - getLogger().log(Level.INFO, "Continuing to enable Protect."); - ess = new EssentialsConnect(essPlugin, this); - - final EssentialsProtectBlockListener blockListener = new EssentialsProtectBlockListener(this); - pm.registerEvents(blockListener, this); - - final EssentialsProtectEntityListener entityListener = new EssentialsProtectEntityListener(this); - pm.registerEvents(entityListener, this); - - if (VersionUtil.getServerBukkitVersion().isHigherThan(VersionUtil.v1_13_2_R01)) { - final EssentialsProtectEntityListener_1_13_2_R1 entityListener_1_13_2_r1 = new EssentialsProtectEntityListener_1_13_2_R1(this); - pm.registerEvents(entityListener_1_13_2_r1, this); - } - if (VersionUtil.getServerBukkitVersion().isHigherThan(VersionUtil.v1_14_R01)) { - final EssentialsProtectEntityListener_1_14_R1 entityListener_1_14_r1 = new EssentialsProtectEntityListener_1_14_R1(this); - pm.registerEvents(entityListener_1_14_r1, this); - } - - if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_16_1_R01)) { - final EssentialsProtectBlockListener_1_16_R1 blockListener_1_16_r1 = new EssentialsProtectBlockListener_1_16_R1(this); - pm.registerEvents(blockListener_1_16_r1, this); - } - - final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this); - pm.registerEvents(weatherListener, this); - } - - private void enableEmergencyMode(final PluginManager pm) { - pm.registerEvents(emListener, this); - - for (final Player player : getServer().getOnlinePlayers()) { - player.sendMessage("Essentials Protect is in emergency mode. Check your log for errors."); - } - getLogger().log(Level.SEVERE, "Essentials not installed or failed to load. Essentials Protect is in emergency mode now."); - } - - void disableEmergencyMode() { - final PluginManager pm = this.getServer().getPluginManager(); - final Plugin essPlugin = pm.getPlugin("Essentials"); - if (essPlugin == null || !essPlugin.isEnabled()) { - getLogger().log(Level.SEVERE, "Tried to disable emergency mode, but Essentials still isn't enabled!"); - return; - } - - HandlerList.unregisterAll(emListener); - - for (final Player player : getServer().getOnlinePlayers()) { - player.sendMessage("Essentials Protect is no longer in emergency mode."); - } - getLogger().log(Level.SEVERE, "Essentials was loaded late! Essentials Protect is no longer in emergency mode."); - - initialize(pm, essPlugin); - } - - @Override - public EssentialsConnect getEssentialsConnect() { - return ess; - } - - @Override - public Map getSettingsBoolean() { - return settingsBoolean; - } - - @Override - public Map getSettingsString() { - return settingsString; - } - - @Override - public Map> getSettingsList() { - return settingsList; - } - - @Override - public boolean getSettingBool(final ProtectConfig protectConfig) { - final Boolean bool = settingsBoolean.get(protectConfig); - return bool == null ? protectConfig.getDefaultValueBoolean() : bool; - } - - @Override - public String getSettingString(final ProtectConfig protectConfig) { - final String str = settingsString.get(protectConfig); - return str == null ? protectConfig.getDefaultValueString() : str; - } -} +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.metrics.MetricsWrapper; +import com.earth2me.essentials.utils.VersionUtil; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.HandlerList; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; + +import java.util.EnumMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; + +public class EssentialsProtect extends JavaPlugin implements IProtect { + private final Map settingsBoolean = new EnumMap<>(ProtectConfig.class); + private final Map settingsString = new EnumMap<>(ProtectConfig.class); + private final Map> settingsList = new EnumMap<>(ProtectConfig.class); + private final EmergencyListener emListener = new EmergencyListener(this); + private EssentialsConnect ess = null; + private transient MetricsWrapper metrics = null; + + @Override + public void onEnable() { + final PluginManager pm = this.getServer().getPluginManager(); + final Plugin essPlugin = pm.getPlugin("Essentials"); + if (essPlugin == null || !essPlugin.isEnabled()) { + enableEmergencyMode(pm); + return; + } + + initialize(pm, essPlugin); + + if (metrics == null) { + metrics = new MetricsWrapper(this, 3816, false); + } + } + + private void initialize(final PluginManager pm, final Plugin essPlugin) { + getLogger().log(Level.INFO, "Continuing to enable Protect."); + ess = new EssentialsConnect(essPlugin, this); + + final EssentialsProtectBlockListener blockListener = new EssentialsProtectBlockListener(this); + pm.registerEvents(blockListener, this); + + final EssentialsProtectEntityListener entityListener = new EssentialsProtectEntityListener(this); + pm.registerEvents(entityListener, this); + + if (VersionUtil.getServerBukkitVersion().isHigherThan(VersionUtil.v1_13_2_R01)) { + final EssentialsProtectEntityListener_1_13_2_R1 entityListener_1_13_2_r1 = new EssentialsProtectEntityListener_1_13_2_R1(this); + pm.registerEvents(entityListener_1_13_2_r1, this); + } + if (VersionUtil.getServerBukkitVersion().isHigherThan(VersionUtil.v1_14_R01)) { + final EssentialsProtectEntityListener_1_14_R1 entityListener_1_14_r1 = new EssentialsProtectEntityListener_1_14_R1(this); + pm.registerEvents(entityListener_1_14_r1, this); + } + + if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_16_1_R01)) { + final EssentialsProtectBlockListener_1_16_R1 blockListener_1_16_r1 = new EssentialsProtectBlockListener_1_16_R1(this); + pm.registerEvents(blockListener_1_16_r1, this); + } + + final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this); + pm.registerEvents(weatherListener, this); + } + + private void enableEmergencyMode(final PluginManager pm) { + pm.registerEvents(emListener, this); + + for (final Player player : getServer().getOnlinePlayers()) { + player.sendMessage("Essentials Protect is in emergency mode. Check your log for errors."); + } + getLogger().log(Level.SEVERE, "Essentials not installed or failed to load. Essentials Protect is in emergency mode now."); + } + + void disableEmergencyMode() { + final PluginManager pm = this.getServer().getPluginManager(); + final Plugin essPlugin = pm.getPlugin("Essentials"); + if (essPlugin == null || !essPlugin.isEnabled()) { + getLogger().log(Level.SEVERE, "Tried to disable emergency mode, but Essentials still isn't enabled!"); + return; + } + + HandlerList.unregisterAll(emListener); + + for (final Player player : getServer().getOnlinePlayers()) { + player.sendMessage("Essentials Protect is no longer in emergency mode."); + } + getLogger().log(Level.SEVERE, "Essentials was loaded late! Essentials Protect is no longer in emergency mode."); + + initialize(pm, essPlugin); + } + + @Override + public EssentialsConnect getEssentialsConnect() { + return ess; + } + + @Override + public Map getSettingsBoolean() { + return settingsBoolean; + } + + @Override + public Map getSettingsString() { + return settingsString; + } + + @Override + public Map> getSettingsList() { + return settingsList; + } + + @Override + public boolean getSettingBool(final ProtectConfig protectConfig) { + final Boolean bool = settingsBoolean.get(protectConfig); + return bool == null ? protectConfig.getDefaultValueBoolean() : bool; + } + + @Override + public String getSettingString(final ProtectConfig protectConfig) { + final String str = settingsString.get(protectConfig); + return str == null ? protectConfig.getDefaultValueString() : str; + } +} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java similarity index 97% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java index 96514f576..24dea6114 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java +++ b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java @@ -1,149 +1,149 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.utils.EnumUtil; -import com.earth2me.essentials.utils.MaterialUtil; -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.entity.Creeper; -import org.bukkit.entity.Fireball; -import org.bukkit.entity.Item; -import org.bukkit.entity.TNTPrimed; -import org.bukkit.entity.WitherSkull; -import org.bukkit.entity.minecart.ExplosiveMinecart; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.Action; -import org.bukkit.event.block.BlockBurnEvent; -import org.bukkit.event.block.BlockFromToEvent; -import org.bukkit.event.block.BlockIgniteEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.world.PortalCreateEvent; - -import java.util.Set; - -public class EssentialsProtectBlockListener implements Listener { - - private static final Set WATER_TYPES = EnumUtil.getAllMatching(Material.class, "WATER", "STATIONARY_WATER"); - private static final Set LAVA_TYPES = EnumUtil.getAllMatching(Material.class, "LAVA", "STATIONARY_LAVA"); - - final private IProtect prot; - - EssentialsProtectBlockListener(final IProtect parent) { - this.prot = parent; - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onBlockIgnite(final BlockIgniteEvent event) { - if (event.getBlock().getType() == Material.OBSIDIAN || event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_portal_creation)); - return; - } - - if (event.getCause().equals(BlockIgniteEvent.IgniteCause.SPREAD)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fire_spread)); - return; - } - - if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_flint_fire)); - return; - } - - if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LAVA)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lava_fire_spread)); - return; - } - if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LIGHTNING)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lightning_fire_spread)); - return; - } - - if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FIREBALL)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fireball_fire)); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onEntityDamageByEntity(final EntityDamageByEntityEvent event) { - if (event.getEntity() instanceof Item) { - if (event.getCause() == EntityDamageEvent.DamageCause.FIRE || event.getCause() == EntityDamageEvent.DamageCause.FIRE_TICK || event.getCause() == EntityDamageEvent.DamageCause.LAVA) { - event.setCancelled(prot.getSettingBool(ProtectConfig.disable_lava_item_dmg)); - } - - if (event.getCause() == EntityDamageEvent.DamageCause.ENTITY_EXPLOSION) { - if (event.getDamager() instanceof TNTPrimed) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_tnt_itemdmg)); - } - - if (event.getDamager() instanceof Creeper) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_creeper_itemdmg)); - } - - if (event.getDamager() instanceof ExplosiveMinecart) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_tntminecart_itemdmg)); - } - - if (event.getDamager() instanceof WitherSkull) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_witherskull_itemdmg)); - } - - if (event.getDamager() instanceof Fireball) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fireball_itemdmg)); - } - } - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onBlockFromTo(final BlockFromToEvent event) { - final Block block = event.getBlock(); - - if (WATER_TYPES.contains(block.getType())) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_flow)); - return; - } - - if (LAVA_TYPES.contains(block.getType())) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lava_flow)); - return; - } - - if (block.getType() == Material.AIR) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_bucket_flow)); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onBlockBurn(final BlockBurnEvent event) { - if (prot.getSettingBool(ProtectConfig.prevent_fire_spread)) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onPortalLight(final PortalCreateEvent event) { - if (event.getReason() == PortalCreateEvent.CreateReason.FIRE) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_portal_creation)); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onPlayerInteract(final PlayerInteractEvent event) { - if (!event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { - return; - } - final Block block = event.getClickedBlock(); - if (block == null) { - return; - } - final World.Environment environment = block.getWorld().getEnvironment(); - if (MaterialUtil.isBed(block.getType()) && !environment.equals(World.Environment.NORMAL)) { - event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_bed_explosion)); - } - } -} +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.utils.EnumUtil; +import com.earth2me.essentials.utils.MaterialUtil; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.entity.Creeper; +import org.bukkit.entity.Fireball; +import org.bukkit.entity.Item; +import org.bukkit.entity.TNTPrimed; +import org.bukkit.entity.WitherSkull; +import org.bukkit.entity.minecart.ExplosiveMinecart; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.block.Action; +import org.bukkit.event.block.BlockBurnEvent; +import org.bukkit.event.block.BlockFromToEvent; +import org.bukkit.event.block.BlockIgniteEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.world.PortalCreateEvent; + +import java.util.Set; + +public class EssentialsProtectBlockListener implements Listener { + + private static final Set WATER_TYPES = EnumUtil.getAllMatching(Material.class, "WATER", "STATIONARY_WATER"); + private static final Set LAVA_TYPES = EnumUtil.getAllMatching(Material.class, "LAVA", "STATIONARY_LAVA"); + + final private IProtect prot; + + EssentialsProtectBlockListener(final IProtect parent) { + this.prot = parent; + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onBlockIgnite(final BlockIgniteEvent event) { + if (event.getBlock().getType() == Material.OBSIDIAN || event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_portal_creation)); + return; + } + + if (event.getCause().equals(BlockIgniteEvent.IgniteCause.SPREAD)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fire_spread)); + return; + } + + if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_flint_fire)); + return; + } + + if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LAVA)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lava_fire_spread)); + return; + } + if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LIGHTNING)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lightning_fire_spread)); + return; + } + + if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FIREBALL)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fireball_fire)); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onEntityDamageByEntity(final EntityDamageByEntityEvent event) { + if (event.getEntity() instanceof Item) { + if (event.getCause() == EntityDamageEvent.DamageCause.FIRE || event.getCause() == EntityDamageEvent.DamageCause.FIRE_TICK || event.getCause() == EntityDamageEvent.DamageCause.LAVA) { + event.setCancelled(prot.getSettingBool(ProtectConfig.disable_lava_item_dmg)); + } + + if (event.getCause() == EntityDamageEvent.DamageCause.ENTITY_EXPLOSION) { + if (event.getDamager() instanceof TNTPrimed) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_tnt_itemdmg)); + } + + if (event.getDamager() instanceof Creeper) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_creeper_itemdmg)); + } + + if (event.getDamager() instanceof ExplosiveMinecart) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_tntminecart_itemdmg)); + } + + if (event.getDamager() instanceof WitherSkull) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_witherskull_itemdmg)); + } + + if (event.getDamager() instanceof Fireball) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_fireball_itemdmg)); + } + } + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onBlockFromTo(final BlockFromToEvent event) { + final Block block = event.getBlock(); + + if (WATER_TYPES.contains(block.getType())) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_flow)); + return; + } + + if (LAVA_TYPES.contains(block.getType())) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_lava_flow)); + return; + } + + if (block.getType() == Material.AIR) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_bucket_flow)); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onBlockBurn(final BlockBurnEvent event) { + if (prot.getSettingBool(ProtectConfig.prevent_fire_spread)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onPortalLight(final PortalCreateEvent event) { + if (event.getReason() == PortalCreateEvent.CreateReason.FIRE) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_portal_creation)); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onPlayerInteract(final PlayerInteractEvent event) { + if (!event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { + return; + } + final Block block = event.getClickedBlock(); + if (block == null) { + return; + } + final World.Environment environment = block.getWorld().getEnvironment(); + if (MaterialUtil.isBed(block.getType()) && !environment.equals(World.Environment.NORMAL)) { + event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_bed_explosion)); + } + } +} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener_1_16_R1.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectBlockListener_1_16_R1.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener_1_16_R1.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectBlockListener_1_16_R1.java diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java similarity index 98% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java index f0dd06091..97635755d 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java @@ -1,258 +1,258 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.User; -import net.ess3.api.IEssentials; -import org.bukkit.entity.Creeper; -import org.bukkit.entity.EnderCrystal; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Entity; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Fireball; -import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; -import org.bukkit.entity.SmallFireball; -import org.bukkit.entity.TNTPrimed; -import org.bukkit.entity.Villager; -import org.bukkit.entity.Wither; -import org.bukkit.entity.WitherSkull; -import org.bukkit.entity.minecart.ExplosiveMinecart; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.EntityBreakDoorEvent; -import org.bukkit.event.entity.EntityChangeBlockEvent; -import org.bukkit.event.entity.EntityDamageByBlockEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDamageEvent.DamageCause; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.event.entity.EntityTargetEvent; -import org.bukkit.event.entity.EntityTargetEvent.TargetReason; -import org.bukkit.event.entity.ExplosionPrimeEvent; -import org.bukkit.event.hanging.HangingBreakByEntityEvent; -import org.bukkit.event.hanging.HangingBreakEvent; - -import java.util.Locale; - -public class EssentialsProtectEntityListener implements Listener { - private final IProtect prot; - private final IEssentials ess; - - EssentialsProtectEntityListener(final IProtect prot) { - this.prot = prot; - this.ess = prot.getEssentialsConnect().getEssentials(); - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onEntityDamage(final EntityDamageEvent event) { - final Entity target = event.getEntity(); - - if (target instanceof Villager && prot.getSettingBool(ProtectConfig.prevent_villager_death)) { - event.setCancelled(true); - return; - } - - User user = null; - if (target instanceof Player) { - user = ess.getUser((Player) target); - } - - final DamageCause cause = event.getCause(); - - if (event instanceof EntityDamageByBlockEvent) { - if (prot.getSettingBool(ProtectConfig.disable_contactdmg) && cause == DamageCause.CONTACT && !(target instanceof Player && shouldBeDamaged(user, "contact"))) { - event.setCancelled(true); - return; - } - if (prot.getSettingBool(ProtectConfig.disable_lavadmg) && cause == DamageCause.LAVA && !(target instanceof Player && shouldBeDamaged(user, "lava"))) { - event.setCancelled(true); - return; - } - if (prot.getSettingBool(ProtectConfig.prevent_tnt_explosion) && cause == DamageCause.BLOCK_EXPLOSION && !(target instanceof Player && shouldBeDamaged(user, "tnt"))) { - event.setCancelled(true); - return; - } - } - - if (event instanceof EntityDamageByEntityEvent) { - final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent) event; - final Entity eAttack = edEvent.getDamager(); - - User attacker = null; - if (eAttack instanceof Player) { - attacker = ess.getUser((Player) eAttack); - } - - //Creeper explode prevention - if (eAttack instanceof Creeper && prot.getSettingBool(ProtectConfig.prevent_creeper_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "creeper"))) { - event.setCancelled(true); - return; - } - - if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && prot.getSettingBool(ProtectConfig.prevent_fireball_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "fireball"))) { - event.setCancelled(true); - return; - } - - if (event.getEntity() instanceof WitherSkull && prot.getSettingBool(ProtectConfig.prevent_witherskull_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "witherskull"))) { - event.setCancelled(true); - return; - } - - if (eAttack instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "tnt"))) { - event.setCancelled(true); - return; - } - - if (eAttack instanceof ExplosiveMinecart && prot.getSettingBool(ProtectConfig.prevent_tntminecart_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "tnt-minecart"))) { - event.setCancelled(true); - return; - } - - // PVP Settings - if (target instanceof Player && eAttack instanceof Player && prot.getSettingBool(ProtectConfig.disable_pvp) && !user.getName().equalsIgnoreCase(attacker.getName()) && (!user.isAuthorized("essentials.protect.pvp") || !attacker.isAuthorized("essentials.protect.pvp"))) { - event.setCancelled(true); - return; - } - - if (edEvent.getDamager() instanceof Projectile && target instanceof Player && ((prot.getSettingBool(ProtectConfig.disable_projectiles) && !shouldBeDamaged(user, "projectiles")) || (((Projectile) edEvent.getDamager()).getShooter() instanceof Player && prot.getSettingBool(ProtectConfig.disable_pvp) && (!user.isAuthorized("essentials.protect.pvp") || !ess.getUser((Player) ((Projectile) edEvent.getDamager()).getShooter()).isAuthorized("essentials.protect.pvp"))))) { - event.setCancelled(true); - return; - } - } - - if (target instanceof Player) { - if (cause == DamageCause.FALL && prot.getSettingBool(ProtectConfig.disable_fall) && !shouldBeDamaged(user, "fall")) { - event.setCancelled(true); - return; - } - - if (cause == DamageCause.SUFFOCATION && prot.getSettingBool(ProtectConfig.disable_suffocate) && !shouldBeDamaged(user, "suffocation")) { - event.setCancelled(true); - return; - } - if ((cause == DamageCause.FIRE || cause == DamageCause.FIRE_TICK) && prot.getSettingBool(ProtectConfig.disable_firedmg) && !shouldBeDamaged(user, "fire")) { - event.setCancelled(true); - return; - } - if (cause == DamageCause.DROWNING && prot.getSettingBool(ProtectConfig.disable_drown) && !shouldBeDamaged(user, "drowning")) { - event.setCancelled(true); - return; - } - if (cause == DamageCause.LIGHTNING && prot.getSettingBool(ProtectConfig.disable_lightning) && !shouldBeDamaged(user, "lightning")) { - event.setCancelled(true); - return; - } - if (cause == DamageCause.WITHER && prot.getSettingBool(ProtectConfig.disable_wither) && !shouldBeDamaged(user, "wither")) { - event.setCancelled(true); - } - } - } - - private boolean shouldBeDamaged(final User user, final String type) { - return user.isAuthorized("essentials.protect.damage.".concat(type)) && !user.isAuthorized("essentials.protect.damage.disable"); - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onEntityExplode(final EntityExplodeEvent event) { - if (event.getEntity() == null) { - return; - } - final Entity entity = event.getEntity(); - final int maxHeight = ess.getSettings().getProtectCreeperMaxHeight(); - - if (entity instanceof EnderDragon && prot.getSettingBool(ProtectConfig.prevent_enderdragon_blockdmg)) { - event.setCancelled(true); - if (prot.getSettingBool(ProtectConfig.enderdragon_fakeexplosions)) { - event.getLocation().getWorld().createExplosion(event.getLocation(), 0F); - } - return; - } - if (entity instanceof Wither && prot.getSettingBool(ProtectConfig.prevent_wither_spawnexplosion)) { - event.setCancelled(true); - } else if (entity instanceof Creeper && (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion) || prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg) || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight))) { - //Nicccccccccce plaaacccccccccce.. - event.setCancelled(true); - event.getLocation().getWorld().createExplosion(event.getLocation(), 0F); - } else if (entity instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_explosion)) { - event.setCancelled(true); - - } else if (entity instanceof Fireball && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion)) { - event.setCancelled(true); - - } else if ((entity instanceof WitherSkull) && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion)) { - event.setCancelled(true); - } else if ((entity instanceof ExplosiveMinecart) && prot.getSettingBool(ProtectConfig.prevent_tntminecart_explosion)) { - event.setCancelled(true); - } else if (entity instanceof EnderCrystal && prot.getSettingBool(ProtectConfig.prevent_ender_crystal_explosion)) { - event.setCancelled(true); - } - - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onCreatureSpawn(final CreatureSpawnEvent event) { - if (event.getEntity() instanceof Player) { - return; - } - final EntityType creature = event.getEntityType(); - if (creature == null) { - return; - } - final String creatureName = creature.toString().toLowerCase(Locale.ENGLISH); - if (creatureName.isEmpty()) { - return; - } - if (ess.getSettings().getProtectPreventSpawn(creatureName)) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onEntityTarget(final EntityTargetEvent event) { - if (!(event.getTarget() instanceof Player)) { - return; - } - final User user = ess.getUser((Player) event.getTarget()); - if ((event.getReason() == TargetReason.CLOSEST_PLAYER || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY || event.getReason() == TargetReason.TARGET_ATTACKED_NEARBY_ENTITY || event.getReason() == TargetReason.RANDOM_TARGET || event.getReason() == TargetReason.DEFEND_VILLAGE || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET) && prot.getSettingBool(ProtectConfig.prevent_entitytarget) && !user.isAuthorized("essentials.protect.entitytarget.bypass")) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onExplosionPrime(final ExplosionPrimeEvent event) { - if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && prot.getSettingBool(ProtectConfig.prevent_fireball_fire)) { - event.setFire(false); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onEntityChangeBlock(final EntityChangeBlockEvent event) { - if (event.getEntityType() == EntityType.ENDERMAN && prot.getSettingBool(ProtectConfig.prevent_enderman_pickup)) { - event.setCancelled(true); - return; - } - if (event.getEntityType() == EntityType.WITHER && prot.getSettingBool(ProtectConfig.prevent_wither_blockreplace)) { - event.setCancelled(true); - } - - if (event.getEntityType() == EntityType.SHEEP && prot.getSettingBool(ProtectConfig.prevent_sheep_eat_grass)) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onDoorBreak(final EntityBreakDoorEvent event) { - if (event.getEntityType() == EntityType.ZOMBIE && prot.getSettingBool(ProtectConfig.prevent_zombie_door_break)) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onPaintingBreak(final HangingBreakByEntityEvent event) { - if ((event.getCause() == HangingBreakEvent.RemoveCause.ENTITY) && ((event.getRemover() instanceof Creeper) && prot.getSettingBool(ProtectConfig.prevent_creeper_explosion) || (((event.getRemover() instanceof Fireball) || (event.getRemover() instanceof SmallFireball)) && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion)) || ((event.getRemover() instanceof TNTPrimed) && prot.getSettingBool(ProtectConfig.prevent_tnt_explosion)) || ((event.getRemover() instanceof WitherSkull) && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion)))) { - event.setCancelled(true); - } - } -} +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.User; +import net.ess3.api.IEssentials; +import org.bukkit.entity.Creeper; +import org.bukkit.entity.EnderCrystal; +import org.bukkit.entity.EnderDragon; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Fireball; +import org.bukkit.entity.Player; +import org.bukkit.entity.Projectile; +import org.bukkit.entity.SmallFireball; +import org.bukkit.entity.TNTPrimed; +import org.bukkit.entity.Villager; +import org.bukkit.entity.Wither; +import org.bukkit.entity.WitherSkull; +import org.bukkit.entity.minecart.ExplosiveMinecart; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.EntityBreakDoorEvent; +import org.bukkit.event.entity.EntityChangeBlockEvent; +import org.bukkit.event.entity.EntityDamageByBlockEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntityTargetEvent; +import org.bukkit.event.entity.EntityTargetEvent.TargetReason; +import org.bukkit.event.entity.ExplosionPrimeEvent; +import org.bukkit.event.hanging.HangingBreakByEntityEvent; +import org.bukkit.event.hanging.HangingBreakEvent; + +import java.util.Locale; + +public class EssentialsProtectEntityListener implements Listener { + private final IProtect prot; + private final IEssentials ess; + + EssentialsProtectEntityListener(final IProtect prot) { + this.prot = prot; + this.ess = prot.getEssentialsConnect().getEssentials(); + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onEntityDamage(final EntityDamageEvent event) { + final Entity target = event.getEntity(); + + if (target instanceof Villager && prot.getSettingBool(ProtectConfig.prevent_villager_death)) { + event.setCancelled(true); + return; + } + + User user = null; + if (target instanceof Player) { + user = ess.getUser((Player) target); + } + + final DamageCause cause = event.getCause(); + + if (event instanceof EntityDamageByBlockEvent) { + if (prot.getSettingBool(ProtectConfig.disable_contactdmg) && cause == DamageCause.CONTACT && !(target instanceof Player && shouldBeDamaged(user, "contact"))) { + event.setCancelled(true); + return; + } + if (prot.getSettingBool(ProtectConfig.disable_lavadmg) && cause == DamageCause.LAVA && !(target instanceof Player && shouldBeDamaged(user, "lava"))) { + event.setCancelled(true); + return; + } + if (prot.getSettingBool(ProtectConfig.prevent_tnt_explosion) && cause == DamageCause.BLOCK_EXPLOSION && !(target instanceof Player && shouldBeDamaged(user, "tnt"))) { + event.setCancelled(true); + return; + } + } + + if (event instanceof EntityDamageByEntityEvent) { + final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent) event; + final Entity eAttack = edEvent.getDamager(); + + User attacker = null; + if (eAttack instanceof Player) { + attacker = ess.getUser((Player) eAttack); + } + + //Creeper explode prevention + if (eAttack instanceof Creeper && prot.getSettingBool(ProtectConfig.prevent_creeper_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "creeper"))) { + event.setCancelled(true); + return; + } + + if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && prot.getSettingBool(ProtectConfig.prevent_fireball_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "fireball"))) { + event.setCancelled(true); + return; + } + + if (event.getEntity() instanceof WitherSkull && prot.getSettingBool(ProtectConfig.prevent_witherskull_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "witherskull"))) { + event.setCancelled(true); + return; + } + + if (eAttack instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "tnt"))) { + event.setCancelled(true); + return; + } + + if (eAttack instanceof ExplosiveMinecart && prot.getSettingBool(ProtectConfig.prevent_tntminecart_playerdmg) && !(target instanceof Player && shouldBeDamaged(user, "tnt-minecart"))) { + event.setCancelled(true); + return; + } + + // PVP Settings + if (target instanceof Player && eAttack instanceof Player && prot.getSettingBool(ProtectConfig.disable_pvp) && !user.getName().equalsIgnoreCase(attacker.getName()) && (!user.isAuthorized("essentials.protect.pvp") || !attacker.isAuthorized("essentials.protect.pvp"))) { + event.setCancelled(true); + return; + } + + if (edEvent.getDamager() instanceof Projectile && target instanceof Player && ((prot.getSettingBool(ProtectConfig.disable_projectiles) && !shouldBeDamaged(user, "projectiles")) || (((Projectile) edEvent.getDamager()).getShooter() instanceof Player && prot.getSettingBool(ProtectConfig.disable_pvp) && (!user.isAuthorized("essentials.protect.pvp") || !ess.getUser((Player) ((Projectile) edEvent.getDamager()).getShooter()).isAuthorized("essentials.protect.pvp"))))) { + event.setCancelled(true); + return; + } + } + + if (target instanceof Player) { + if (cause == DamageCause.FALL && prot.getSettingBool(ProtectConfig.disable_fall) && !shouldBeDamaged(user, "fall")) { + event.setCancelled(true); + return; + } + + if (cause == DamageCause.SUFFOCATION && prot.getSettingBool(ProtectConfig.disable_suffocate) && !shouldBeDamaged(user, "suffocation")) { + event.setCancelled(true); + return; + } + if ((cause == DamageCause.FIRE || cause == DamageCause.FIRE_TICK) && prot.getSettingBool(ProtectConfig.disable_firedmg) && !shouldBeDamaged(user, "fire")) { + event.setCancelled(true); + return; + } + if (cause == DamageCause.DROWNING && prot.getSettingBool(ProtectConfig.disable_drown) && !shouldBeDamaged(user, "drowning")) { + event.setCancelled(true); + return; + } + if (cause == DamageCause.LIGHTNING && prot.getSettingBool(ProtectConfig.disable_lightning) && !shouldBeDamaged(user, "lightning")) { + event.setCancelled(true); + return; + } + if (cause == DamageCause.WITHER && prot.getSettingBool(ProtectConfig.disable_wither) && !shouldBeDamaged(user, "wither")) { + event.setCancelled(true); + } + } + } + + private boolean shouldBeDamaged(final User user, final String type) { + return user.isAuthorized("essentials.protect.damage.".concat(type)) && !user.isAuthorized("essentials.protect.damage.disable"); + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onEntityExplode(final EntityExplodeEvent event) { + if (event.getEntity() == null) { + return; + } + final Entity entity = event.getEntity(); + final int maxHeight = ess.getSettings().getProtectCreeperMaxHeight(); + + if (entity instanceof EnderDragon && prot.getSettingBool(ProtectConfig.prevent_enderdragon_blockdmg)) { + event.setCancelled(true); + if (prot.getSettingBool(ProtectConfig.enderdragon_fakeexplosions)) { + event.getLocation().getWorld().createExplosion(event.getLocation(), 0F); + } + return; + } + if (entity instanceof Wither && prot.getSettingBool(ProtectConfig.prevent_wither_spawnexplosion)) { + event.setCancelled(true); + } else if (entity instanceof Creeper && (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion) || prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg) || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight))) { + //Nicccccccccce plaaacccccccccce.. + event.setCancelled(true); + event.getLocation().getWorld().createExplosion(event.getLocation(), 0F); + } else if (entity instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_explosion)) { + event.setCancelled(true); + + } else if (entity instanceof Fireball && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion)) { + event.setCancelled(true); + + } else if ((entity instanceof WitherSkull) && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion)) { + event.setCancelled(true); + } else if ((entity instanceof ExplosiveMinecart) && prot.getSettingBool(ProtectConfig.prevent_tntminecart_explosion)) { + event.setCancelled(true); + } else if (entity instanceof EnderCrystal && prot.getSettingBool(ProtectConfig.prevent_ender_crystal_explosion)) { + event.setCancelled(true); + } + + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onCreatureSpawn(final CreatureSpawnEvent event) { + if (event.getEntity() instanceof Player) { + return; + } + final EntityType creature = event.getEntityType(); + if (creature == null) { + return; + } + final String creatureName = creature.toString().toLowerCase(Locale.ENGLISH); + if (creatureName.isEmpty()) { + return; + } + if (ess.getSettings().getProtectPreventSpawn(creatureName)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onEntityTarget(final EntityTargetEvent event) { + if (!(event.getTarget() instanceof Player)) { + return; + } + final User user = ess.getUser((Player) event.getTarget()); + if ((event.getReason() == TargetReason.CLOSEST_PLAYER || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY || event.getReason() == TargetReason.TARGET_ATTACKED_NEARBY_ENTITY || event.getReason() == TargetReason.RANDOM_TARGET || event.getReason() == TargetReason.DEFEND_VILLAGE || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET) && prot.getSettingBool(ProtectConfig.prevent_entitytarget) && !user.isAuthorized("essentials.protect.entitytarget.bypass")) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onExplosionPrime(final ExplosionPrimeEvent event) { + if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && prot.getSettingBool(ProtectConfig.prevent_fireball_fire)) { + event.setFire(false); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onEntityChangeBlock(final EntityChangeBlockEvent event) { + if (event.getEntityType() == EntityType.ENDERMAN && prot.getSettingBool(ProtectConfig.prevent_enderman_pickup)) { + event.setCancelled(true); + return; + } + if (event.getEntityType() == EntityType.WITHER && prot.getSettingBool(ProtectConfig.prevent_wither_blockreplace)) { + event.setCancelled(true); + } + + if (event.getEntityType() == EntityType.SHEEP && prot.getSettingBool(ProtectConfig.prevent_sheep_eat_grass)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onDoorBreak(final EntityBreakDoorEvent event) { + if (event.getEntityType() == EntityType.ZOMBIE && prot.getSettingBool(ProtectConfig.prevent_zombie_door_break)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onPaintingBreak(final HangingBreakByEntityEvent event) { + if ((event.getCause() == HangingBreakEvent.RemoveCause.ENTITY) && ((event.getRemover() instanceof Creeper) && prot.getSettingBool(ProtectConfig.prevent_creeper_explosion) || (((event.getRemover() instanceof Fireball) || (event.getRemover() instanceof SmallFireball)) && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion)) || ((event.getRemover() instanceof TNTPrimed) && prot.getSettingBool(ProtectConfig.prevent_tnt_explosion)) || ((event.getRemover() instanceof WitherSkull) && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion)))) { + event.setCancelled(true); + } + } +} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_13_2_R1.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_13_2_R1.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_13_2_R1.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_13_2_R1.java diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_14_R1.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_14_R1.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_14_R1.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectEntityListener_1_14_R1.java diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java similarity index 97% rename from EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java index fbb1aaa6a..f61e34d37 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java +++ b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java @@ -1,37 +1,37 @@ -package com.earth2me.essentials.protect; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.weather.LightningStrikeEvent; -import org.bukkit.event.weather.ThunderChangeEvent; -import org.bukkit.event.weather.WeatherChangeEvent; - -public class EssentialsProtectWeatherListener implements Listener { - private final IProtect prot; - - EssentialsProtectWeatherListener(final IProtect prot) { - this.prot = prot; - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onWeatherChange(final WeatherChangeEvent event) { - if (prot.getSettingBool(ProtectConfig.disable_weather_storm) && event.toWeatherState()) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onLightningStrike(final LightningStrikeEvent event) { - if (prot.getSettingBool(ProtectConfig.disable_weather_lightning)) { - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onThunderChange(final ThunderChangeEvent event) { - if (prot.getSettingBool(ProtectConfig.disable_weather_thunder) && event.toThunderState()) { - event.setCancelled(true); - } - } -} +package com.earth2me.essentials.protect; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.weather.LightningStrikeEvent; +import org.bukkit.event.weather.ThunderChangeEvent; +import org.bukkit.event.weather.WeatherChangeEvent; + +public class EssentialsProtectWeatherListener implements Listener { + private final IProtect prot; + + EssentialsProtectWeatherListener(final IProtect prot) { + this.prot = prot; + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onWeatherChange(final WeatherChangeEvent event) { + if (prot.getSettingBool(ProtectConfig.disable_weather_storm) && event.toWeatherState()) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onLightningStrike(final LightningStrikeEvent event) { + if (prot.getSettingBool(ProtectConfig.disable_weather_lightning)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onThunderChange(final ThunderChangeEvent event) { + if (prot.getSettingBool(ProtectConfig.disable_weather_thunder) && event.toThunderState()) { + event.setCancelled(true); + } + } +} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/IProtect.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/IProtect.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/IProtect.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/IProtect.java diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/main/java/com/earth2me/essentials/protect/ProtectConfig.java similarity index 100% rename from EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java rename to EssentialsProtect/src/main/java/com/earth2me/essentials/protect/ProtectConfig.java diff --git a/EssentialsProtect/src/plugin.yml b/EssentialsProtect/src/main/resources/plugin.yml similarity index 100% rename from EssentialsProtect/src/plugin.yml rename to EssentialsProtect/src/main/resources/plugin.yml diff --git a/EssentialsSpawn/build.gradle b/EssentialsSpawn/build.gradle new file mode 100644 index 000000000..223f36637 --- /dev/null +++ b/EssentialsSpawn/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compileOnly project(':EssentialsX') +} \ No newline at end of file diff --git a/EssentialsSpawn/pom.xml b/EssentialsSpawn/pom.xml deleted file mode 100644 index de700a583..000000000 --- a/EssentialsSpawn/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXSpawn - - - EssentialsXSpawn-${full.version} - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.1 - - - package - - shade - - - - - - net.ess3:EssentialsXSpawn - - false - - - io.papermc.lib - com.earth2me.essentials.paperlib - - - - - - - - - - net.ess3 - EssentialsX - ${project.version} - - - \ No newline at end of file diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/Commandsetspawn.java similarity index 100% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/Commandsetspawn.java diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/Commandspawn.java similarity index 100% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/Commandspawn.java diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/EssentialsSpawn.java similarity index 100% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/EssentialsSpawn.java diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java similarity index 94% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java index 3d289127b..be0619f09 100644 --- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java +++ b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java @@ -7,7 +7,6 @@ import com.earth2me.essentials.textreader.IText; import com.earth2me.essentials.textreader.KeywordReplacer; import com.earth2me.essentials.textreader.SimpleTextPager; import com.earth2me.essentials.utils.VersionUtil; -import io.papermc.lib.PaperLib; import net.ess3.api.IEssentials; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -79,11 +78,12 @@ class EssentialsSpawnPlayerListener implements Listener { if (ess.getSettings().isUserInSpawnOnJoinGroup(user) && !user.isAuthorized("essentials.spawn-on-join.exempt")) { ess.scheduleSyncDelayedTask(() -> { final Location spawn = spawns.getSpawn(user.getGroup()); - try { - PaperLib.teleportAsync(user.getBase(), spawn, TeleportCause.PLUGIN); - } catch (final Exception e) { + final CompletableFuture future = new CompletableFuture<>(); + future.exceptionally(e -> { ess.showError(user.getSource(), e, "spawn-on-join"); - } + return false; + }); + user.getAsyncTeleport().nowUnsafe(spawn, TeleportCause.PLUGIN, future); }); } } diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/IEssentialsSpawn.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/IEssentialsSpawn.java similarity index 100% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/IEssentialsSpawn.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/IEssentialsSpawn.java diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/SpawnStorage.java b/EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/SpawnStorage.java similarity index 100% rename from EssentialsSpawn/src/com/earth2me/essentials/spawn/SpawnStorage.java rename to EssentialsSpawn/src/main/java/com/earth2me/essentials/spawn/SpawnStorage.java diff --git a/EssentialsSpawn/src/plugin.yml b/EssentialsSpawn/src/main/resources/plugin.yml similarity index 100% rename from EssentialsSpawn/src/plugin.yml rename to EssentialsSpawn/src/main/resources/plugin.yml diff --git a/EssentialsXMPP/build.gradle b/EssentialsXMPP/build.gradle new file mode 100644 index 000000000..298599b63 --- /dev/null +++ b/EssentialsXMPP/build.gradle @@ -0,0 +1,10 @@ +dependencies { + compileOnly project(':EssentialsX') + implementation 'org.igniterealtime.smack:smack:3.2.1' +} + +shadowJar { + dependencies { + include (dependency('org.igniterealtime.smack:smack')) + } +} diff --git a/EssentialsXMPP/pom.xml b/EssentialsXMPP/pom.xml deleted file mode 100644 index 23d047c5b..000000000 --- a/EssentialsXMPP/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - 4.0.0 - - - net.ess3 - EssentialsXParent - 2.18.2 - - - EssentialsXXMPP - - - EssentialsXXMPP-${full.version} - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.1 - - - package - - shade - - - - - false - - - - - - - - net.ess3 - EssentialsX - ${project.version} - provided - - - org.igniterealtime.smack - smack - 3.2.1 - compile - - - \ No newline at end of file diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandsetxmpp.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandsetxmpp.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandsetxmpp.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandsetxmpp.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandxmpp.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandxmpp.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandxmpp.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandxmpp.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandxmppspy.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandxmppspy.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/Commandxmppspy.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/Commandxmppspy.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/EssentialsXMPP.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/EssentialsXMPP.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPPPlayerListener.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/EssentialsXMPPPlayerListener.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPPPlayerListener.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/EssentialsXMPPPlayerListener.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/IEssentialsXMPP.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/IEssentialsXMPP.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/UserManager.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/UserManager.java diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java b/EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java similarity index 100% rename from EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java rename to EssentialsXMPP/src/main/java/com/earth2me/essentials/xmpp/XMPPManager.java diff --git a/EssentialsXMPP/src/config.yml b/EssentialsXMPP/src/main/resources/config.yml similarity index 100% rename from EssentialsXMPP/src/config.yml rename to EssentialsXMPP/src/main/resources/config.yml diff --git a/EssentialsXMPP/src/plugin.yml b/EssentialsXMPP/src/main/resources/plugin.yml similarity index 100% rename from EssentialsXMPP/src/plugin.yml rename to EssentialsXMPP/src/main/resources/plugin.yml diff --git a/README.md b/README.md index 75940358e..c24a4614c 100644 --- a/README.md +++ b/README.md @@ -40,21 +40,39 @@ If you need to report a bug or want to suggest a new feature, you can [open an i Building -------- -To build EssentialsX, you need JDK 8 or higher and Maven installed on your system. Then, run the following command: +To build EssentialsX, you need JDK 8 or higher installed on your system. Then, run the following command: ```sh -mvn clean install +./gradlew build ``` -Each module's jar can be found in `target/` inside each module's directory. +...or if you're on windows run the following command: + +```batch +gradlew build +``` + +Each module's jar can be found in `build/libs/` inside each module's directory or in `jars/`. Using EssentialsX in your plugin -------------------------------- -Do you want to integrate with EssentialsX in your plugin? EssentialsX is available on the **ender.zone Maven repository** at https://ci.ender.zone/plugin/repository/everything/. +Do you want to integrate with EssentialsX in your plugin? You can use the EssentialsX Maven repo to build against EssentialsX's API. -To depend on EssentialsX 2.18.2, you should use the artifact `net.ess3:EssentialsX:2.18.2`. You can find more information at the [wiki](https://essentialsx.net/wiki/Common-Issues.html#how-do-i-add-essentialsx-as-a-dependency). +Releases are hosted on the Maven repo at `https://repo.essentialsx.net/releases/`, while snapshots (including dev builds) are hosted at `https://repo.essentialsx.net/snapshots/`. +To add EssentialsX to your build system, you should use the following artifacts: + +| Type | Group ID | Artifact ID | Version | +| :-------------- | :-------------- | :---------- | :-------------- | +| Older releases | net.ess3 | EssentialsX | 2.18.2 | +| Snapshots | net.essentialsx | EssentialsX | 2.19.0-SNAPSHOT | +| Future releases | net.essentialsx | EssentialsX | 2.19.0 | + +Note: up until `2.18.2`, EssentialsX used the `net.ess3` group ID, but starting with `2.19.0` snapshots, the group ID is now `net.essentialsx`. +When updating your plugin, make sure you use the correct group ID. + +You can find more information and examples at the [wiki](https://essentialsx.net/wiki/Common-Issues.html#how-do-i-add-essentialsx-as-a-dependency). Contributing ------------ diff --git a/build.gradle b/build.gradle new file mode 100644 index 000000000..840b06f25 --- /dev/null +++ b/build.gradle @@ -0,0 +1,160 @@ +buildscript { + ext { + indraVersion = '1.2.1' + } +} + +plugins { + id 'org.ajoberstar.grgit' version '4.1.0' + id 'net.kyori.indra' version "$indraVersion" apply false + id 'net.kyori.indra.checkstyle' version "$indraVersion" apply false + id 'net.kyori.indra.publishing' version "$indraVersion" apply false + id 'com.github.johnrengelman.shadow' version '6.1.0' apply false +} + +import org.apache.tools.ant.filters.ReplaceTokens + +allprojects { + group = 'net.essentialsx' + version = '2.19.0-SNAPSHOT' +} + +def commitsSinceLastTag() { + def tags = grgit.tag.list().stream().map({it.commit}).toList() + def commit = grgit.head() + def depth = 0 + while (true) { + if (tags.contains(commit)) + return depth + depth++ + commit = grgit.resolve.toCommit(commit.parentIds.get(0)) + } +} + +ext { + GIT_COMMIT = grgit.head().abbreviatedId + GIT_DEPTH = commitsSinceLastTag() + + fullVersion = "${version}-${GIT_COMMIT}".replace("-SNAPSHOT", "-dev+${GIT_DEPTH}") + + checkstyleVersion = '8.36.2' + spigotVersion = '1.16.4-R0.1-SNAPSHOT' + junit5Version = '5.7.0' + mockitoVersion = '3.2.0' +} + +subprojects { + apply plugin: 'java' + apply plugin: 'net.kyori.indra' + apply plugin: 'net.kyori.indra.checkstyle' + apply plugin: 'net.kyori.indra.publishing' + apply plugin: 'com.github.johnrengelman.shadow' + + repositories { + mavenLocal() + maven { url = 'https://hub.spigotmc.org/nexus/content/groups/public/' } + maven { url = 'https://papermc.io/repo/repository/maven-public/' } + maven { + url = 'https://jitpack.io' + content { + includeGroup "com.github.milkbowl" + } + } + } + + dependencies { + testImplementation "org.junit.jupiter:junit-jupiter:${junit5Version}" + testImplementation "org.junit.vintage:junit-vintage-engine:${junit5Version}" + testImplementation "org.mockito:mockito-core:${mockitoVersion}" + + if (project.name != "1_8Provider" && project.name != "PaperProvider" && project.name != "NMSReflectionProvider") { // These providers use their own bukkit versions + api "org.spigotmc:spigot-api:${spigotVersion}" + } + } + + // Version Injection + processResources { + filter(ReplaceTokens, beginToken: '${', + endToken: '}', tokens: ["full.version": fullVersion]) + } + + indra { + checkstyle = "$checkstyleVersion" + + github('EssentialsX', 'Essentials') + gpl3OnlyLicense() + + publishReleasesTo('essx', 'https://repo.essentialsx.net/releases/') + publishSnapshotsTo('essx', 'https://repo.essentialsx.net/snapshots/') + + configurePublications { + pom { + description = 'The essential plugin suite for Minecraft servers.' + url = 'https://essentialsx.net' + developers { + developer { + id = 'mdcfe' + name = 'MD' + email = 'md@n3fs.co.uk' + } + developer { + id = 'pop4959' + } + developer { + id = 'JRoy' + name = 'Josh Roy' + } + } + ciManagement { + system = 'Jenkins' + url = 'https://ci.ender.zone/job/EssentialsX' + } + } + } + } + + javadoc { + title = "${project.name} API (v${rootProject.ext.fullVersion})" + options.links( + 'https://hub.spigotmc.org/javadocs/spigot/' + ) + options.addStringOption('Xdoclint:none', '-quiet') + } + + // undo https://github.com/KyoriPowered/indra/blob/master/indra-common/src/main/kotlin/net/kyori/indra/IndraPlugin.kt#L57 + archivesBaseName = project.name + + tasks.withType(Jar) { + archiveVersion.set(fullVersion) + } +} + +def outputTasks() { + [":EssentialsX:shadowJar", ":EssentialsXAntiBuild:jar", ":EssentialsXChat:jar", + ":EssentialsXGeoIP:shadowJar", ":EssentialsXProtect:jar", ":EssentialsXSpawn:jar", + ":EssentialsXXMPP:shadowJar"].stream().map({ tasks.findByPath(it) }) +} + +task copyToJars(type: Copy) { + outputTasks().forEach { + from(it) + } + + rename '(.*)-all.jar', '$1.jar' + + into file('jars') +} + +task cleanJars() { + delete file('jars') +} + +task clean() { + dependsOn cleanJars +} + +task build() { + dependsOn copyToJars +} + +copyToJars.dependsOn tasks.findByPath(":EssentialsX:processResources") diff --git a/crowdin.yml b/crowdin.yml index b971b76fa..b1d0ee35d 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,6 +1,6 @@ files: - - source: /Essentials/src/messages.properties - translation: /Essentials/src/messages_%locale_with_underscore%.properties + - source: /Essentials/src/main/resources/messages.properties + translation: /Essentials/src/main/resources/messages_%locale_with_underscore%.properties languages_mapping: locale_with_underscore: bg: bg diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..aa4e563ab --- /dev/null +++ b/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.cache=true +org.gradle.parallel=true +org.gradle.jvmargs='-Dfile.encoding=UTF-8' diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..62d4c053550b91381bbd28b1afc82d634bf73a8a GIT binary patch literal 58910 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..4d9ca1649 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 000000000..fbd7c5158 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 000000000..5093609d5 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,104 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pom.xml b/pom.xml deleted file mode 100644 index c2347ad5d..000000000 --- a/pom.xml +++ /dev/null @@ -1,300 +0,0 @@ - - 4.0.0 - - net.ess3 - EssentialsXParent - 2.18.2 - - pom - - - - GPLv3 - http://www.gnu.org/copyleft/gpl.html - - - - - scm:git:https://github.com/EssentialsX/Essentials.git - scm:git:https://github.com/EssentialsX/Essentials.git - https://github.com/EssentialsX/Essentials - - - - - ess-repo - https://ci.ender.zone/plugin/repository/everything/ - - - spigot-repo - https://hub.spigotmc.org/nexus/content/groups/public/ - - - paper-repo - https://papermc.io/repo/repository/maven-public/ - - - jitpack - https://jitpack.io - - - - - Essentials - EssentialsAntiBuild - EssentialsChat - EssentialsGeoIP - EssentialsProtect - EssentialsSpawn - EssentialsXMPP - providers/BaseProviders - providers/NMSReflectionProvider - providers/PaperProvider - providers/1_8Provider - - - - - org.spigotmc - spigot-api - 1.16.4-R0.1-SNAPSHOT - provided - - - junit - junit - 4.13.1 - test - - - org.mockito - mockito-core - 3.2.0 - test - - - - - clean install - src - test - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.1.1 - - jars - true - - - ${project.groupId} - EssentialsX - ${project.version} - - - ${project.groupId} - EssentialsXAntiBuild - ${project.version} - - - ${project.groupId} - EssentialsXChat - ${project.version} - - - ${project.groupId} - EssentialsXGeoIP - ${project.version} - - - ${project.groupId} - EssentialsXProtect - ${project.version} - - - ${project.groupId} - EssentialsXSpawn - ${project.version} - - - ${project.groupId} - EssentialsXXMPP - ${project.version} - - - - false - - - maven-resources-plugin - 3.1.0 - - - package - - copy-resources - - - ${basedir}/jars - - - Essentials/src - - messages*.properties - config.yml - items.csv - items.json - - - plugin.yml - - true - - - - - - false - - - com.google.code.maven-replacer-plugin - replacer - 1.5.3 - - - process-sources - - replace - - - - - **/src/* - - - TeamCity - ${full.version} - - - - $${build.number} - ${full.version} - - - - false - - - org.apache.maven.plugins - maven-clean-plugin - 3.1.0 - - - - ${basedir} - - jars/** - - - build/** - dist/** - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.0.1 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.2 - - true - - - - pl.project13.maven - git-commit-id-plugin - 2.2.5 - - - - revision - - - - - - false - - true - true - false - - - true - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.1.1 - - .checkstyle/checkstyle.xml - .checkstyle/suppressions.xml - - - - - check - - - - - - - - - src - - *.properties - *.yml - *.csv - *.txt - *.json - - true - - - - - - UTF-8 - - - 2.18.2 - - - - ${git.closest.tag.commit.count} - - ${release.version}.${build.version} - - diff --git a/providers/1_8Provider/build.gradle b/providers/1_8Provider/build.gradle new file mode 100644 index 000000000..c9278d9b1 --- /dev/null +++ b/providers/1_8Provider/build.gradle @@ -0,0 +1,3 @@ +dependencies { + api project(':providers:NMSReflectionProvider') +} diff --git a/providers/1_8Provider/pom.xml b/providers/1_8Provider/pom.xml deleted file mode 100644 index ebc982ce2..000000000 --- a/providers/1_8Provider/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - EssentialsXParent - net.ess3 - 2.18.2 - ../../pom.xml - - 4.0.0 - - 1_8Provider - - - - net.ess3 - NMSReflectionProvider - 2.18.2 - - - \ No newline at end of file diff --git a/providers/1_8Provider/src/com/earth2me/essentials/OfflinePlayer.java b/providers/1_8Provider/src/main/java/com/earth2me/essentials/OfflinePlayer.java similarity index 100% rename from providers/1_8Provider/src/com/earth2me/essentials/OfflinePlayer.java rename to providers/1_8Provider/src/main/java/com/earth2me/essentials/OfflinePlayer.java diff --git a/providers/BaseProviders/build.gradle b/providers/BaseProviders/build.gradle new file mode 100644 index 000000000..e69de29bb diff --git a/providers/BaseProviders/pom.xml b/providers/BaseProviders/pom.xml deleted file mode 100644 index 0c275ef41..000000000 --- a/providers/BaseProviders/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - EssentialsXParent - net.ess3 - 2.18.2 - ../../pom.xml - - 4.0.0 - - BaseProviders - diff --git a/providers/BaseProviders/src/net/ess3/provider/ContainerProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/ContainerProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/ContainerProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/ContainerProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/KnownCommandsProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/KnownCommandsProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/KnownCommandsProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/KnownCommandsProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/PotionMetaProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/PotionMetaProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/PotionMetaProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/PotionMetaProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/Provider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/Provider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/Provider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/Provider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/ProviderListener.java b/providers/BaseProviders/src/main/java/net/ess3/provider/ProviderListener.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/ProviderListener.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/ProviderListener.java diff --git a/providers/BaseProviders/src/net/ess3/provider/ServerStateProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/ServerStateProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/ServerStateProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/ServerStateProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/SpawnEggProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/SpawnEggProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/SpawnEggProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/SpawnEggProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/SpawnerBlockProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/SpawnerBlockProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/SpawnerBlockProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/SpawnerBlockProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/SpawnerItemProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/SpawnerItemProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/SpawnerItemProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/SpawnerItemProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/BasePotionDataProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/BasePotionDataProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/BasePotionDataProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/BasePotionDataProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/BlockMetaSpawnerItemProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/BlockMetaSpawnerItemProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/BlockMetaSpawnerItemProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/BlockMetaSpawnerItemProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/BukkitSpawnerBlockProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/BukkitSpawnerBlockProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/BukkitSpawnerBlockProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/BukkitSpawnerBlockProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/FlatSpawnEggProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/FlatSpawnEggProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/FlatSpawnEggProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/FlatSpawnEggProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/LegacyPotionMetaProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/LegacyPotionMetaProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/LegacyPotionMetaProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/LegacyPotionMetaProvider.java diff --git a/providers/BaseProviders/src/net/ess3/provider/providers/LegacySpawnEggProvider.java b/providers/BaseProviders/src/main/java/net/ess3/provider/providers/LegacySpawnEggProvider.java similarity index 100% rename from providers/BaseProviders/src/net/ess3/provider/providers/LegacySpawnEggProvider.java rename to providers/BaseProviders/src/main/java/net/ess3/provider/providers/LegacySpawnEggProvider.java diff --git a/providers/NMSReflectionProvider/build.gradle b/providers/NMSReflectionProvider/build.gradle new file mode 100644 index 000000000..7b67a051b --- /dev/null +++ b/providers/NMSReflectionProvider/build.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation project(':providers:BaseProviders') + api 'org.bukkit:bukkit:1.12.2-R0.1-SNAPSHOT' +} diff --git a/providers/NMSReflectionProvider/pom.xml b/providers/NMSReflectionProvider/pom.xml deleted file mode 100644 index 061898d3d..000000000 --- a/providers/NMSReflectionProvider/pom.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - EssentialsXParent - net.ess3 - 2.18.2 - ../../pom.xml - - 4.0.0 - - NMSReflectionProvider - - - - net.ess3 - BaseProviders - 2.18.2 - - - org.bukkit - bukkit - 1.12.2-R0.1-SNAPSHOT - - - \ No newline at end of file diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/ReflUtil.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/ReflUtil.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/ReflUtil.java diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/SpawnEggRefl.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/SpawnEggRefl.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/SpawnEggRefl.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/SpawnEggRefl.java diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflKnownCommandsProvider.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflKnownCommandsProvider.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflKnownCommandsProvider.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflKnownCommandsProvider.java diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflServerStateProvider.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflServerStateProvider.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflServerStateProvider.java diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflSpawnEggProvider.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflSpawnEggProvider.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflSpawnEggProvider.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflSpawnEggProvider.java diff --git a/providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflSpawnerBlockProvider.java b/providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflSpawnerBlockProvider.java similarity index 100% rename from providers/NMSReflectionProvider/src/net/ess3/nms/refl/providers/ReflSpawnerBlockProvider.java rename to providers/NMSReflectionProvider/src/main/java/net/ess3/nms/refl/providers/ReflSpawnerBlockProvider.java diff --git a/providers/PaperProvider/build.gradle b/providers/PaperProvider/build.gradle new file mode 100644 index 000000000..32937ff09 --- /dev/null +++ b/providers/PaperProvider/build.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation project(':providers:BaseProviders') + compileOnly 'com.destroystokyo.paper:paper-api:1.16.3-R0.1-SNAPSHOT' +} diff --git a/providers/PaperProvider/pom.xml b/providers/PaperProvider/pom.xml deleted file mode 100644 index 917c336d4..000000000 --- a/providers/PaperProvider/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - EssentialsXParent - net.ess3 - 2.18.2 - ../../pom.xml - - 4.0.0 - - PaperProvider - - - - paper-repo - https://papermc.io/repo/repository/maven-public/ - - - - - - net.ess3 - BaseProviders - 2.18.2 - - - com.destroystokyo.paper - paper-api - 1.16.3-R0.1-SNAPSHOT - - - diff --git a/providers/PaperProvider/src/net/ess3/provider/providers/PaperContainerProvider.java b/providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperContainerProvider.java similarity index 100% rename from providers/PaperProvider/src/net/ess3/provider/providers/PaperContainerProvider.java rename to providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperContainerProvider.java diff --git a/providers/PaperProvider/src/net/ess3/provider/providers/PaperKnownCommandsProvider.java b/providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperKnownCommandsProvider.java similarity index 100% rename from providers/PaperProvider/src/net/ess3/provider/providers/PaperKnownCommandsProvider.java rename to providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperKnownCommandsProvider.java diff --git a/providers/PaperProvider/src/net/ess3/provider/providers/PaperRecipeBookListener.java b/providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperRecipeBookListener.java similarity index 100% rename from providers/PaperProvider/src/net/ess3/provider/providers/PaperRecipeBookListener.java rename to providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperRecipeBookListener.java diff --git a/providers/PaperProvider/src/net/ess3/provider/providers/PaperServerStateProvider.java b/providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperServerStateProvider.java similarity index 100% rename from providers/PaperProvider/src/net/ess3/provider/providers/PaperServerStateProvider.java rename to providers/PaperProvider/src/main/java/net/ess3/provider/providers/PaperServerStateProvider.java diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 000000000..36b6b34ad --- /dev/null +++ b/settings.gradle @@ -0,0 +1,21 @@ +rootProject.name = 'EssentialsXParent' + +// Modules +[ + "", + "AntiBuild", + "Chat", + "GeoIP", + "Protect", + "Spawn", + "XMPP", +].each { + include(":EssentialsX$it") + project(":EssentialsX$it").projectDir = file("Essentials$it") +} + +// Providers +include(':providers:BaseProviders') +include(':providers:NMSReflectionProvider') +include(':providers:PaperProvider') +include(':providers:1_8Provider')