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 01/23] 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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