summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Essentials/pom.xml8
-rw-r--r--Essentials/src/messages.properties2
-rw-r--r--Essentials/src/messages_cs.properties2
-rw-r--r--Essentials/src/messages_da.properties2
-rw-r--r--Essentials/src/messages_de.properties2
-rw-r--r--Essentials/src/messages_en.properties2
-rw-r--r--Essentials/src/messages_es.properties2
-rw-r--r--Essentials/src/messages_fi.properties2
-rw-r--r--Essentials/src/messages_fr.properties2
-rw-r--r--Essentials/src/messages_it.properties2
-rw-r--r--Essentials/src/messages_nl.properties2
-rw-r--r--Essentials/src/messages_pl.properties2
-rw-r--r--Essentials/src/messages_pt.properties2
-rw-r--r--Essentials/src/messages_se.properties2
-rw-r--r--Essentials/src/net/ess3/Console.java2
-rw-r--r--Essentials/src/net/ess3/Essentials.java165
-rw-r--r--Essentials/src/net/ess3/EssentialsTimer.java4
-rw-r--r--Essentials/src/net/ess3/ItemDb.java12
-rw-r--r--Essentials/src/net/ess3/Jails.java32
-rw-r--r--Essentials/src/net/ess3/Kits.java2
-rw-r--r--Essentials/src/net/ess3/Teleport.java44
-rw-r--r--Essentials/src/net/ess3/Warps.java6
-rw-r--r--Essentials/src/net/ess3/api/Economy.java3
-rw-r--r--Essentials/src/net/ess3/api/ICommandHandler.java2
-rw-r--r--Essentials/src/net/ess3/api/IEssentials.java9
-rw-r--r--Essentials/src/net/ess3/api/IItemDb.java3
-rw-r--r--Essentials/src/net/ess3/api/IPermission.java8
-rw-r--r--Essentials/src/net/ess3/api/IPlugin.java (renamed from Essentials/src/net/ess3/api/server/Plugin.java)31
-rw-r--r--Essentials/src/net/ess3/api/IReplyTo.java3
-rw-r--r--Essentials/src/net/ess3/api/IUser.java56
-rw-r--r--Essentials/src/net/ess3/api/IUserMap.java17
-rw-r--r--Essentials/src/net/ess3/api/IWarps.java2
-rw-r--r--Essentials/src/net/ess3/api/IWorth.java3
-rw-r--r--Essentials/src/net/ess3/api/ondemand/OnDemand.java22
-rw-r--r--Essentials/src/net/ess3/api/ondemand/UserOnDemand.java29
-rw-r--r--Essentials/src/net/ess3/api/server/Block.java24
-rw-r--r--Essentials/src/net/ess3/api/server/CommandSender.java13
-rw-r--r--Essentials/src/net/ess3/api/server/Enchantment.java7
-rw-r--r--Essentials/src/net/ess3/api/server/IInventory.java19
-rw-r--r--Essentials/src/net/ess3/api/server/IPermission.java5
-rw-r--r--Essentials/src/net/ess3/api/server/ItemStack.java53
-rw-r--r--Essentials/src/net/ess3/api/server/Location.java52
-rw-r--r--Essentials/src/net/ess3/api/server/Material.java39
-rw-r--r--Essentials/src/net/ess3/api/server/Permission.java27
-rw-r--r--Essentials/src/net/ess3/api/server/Player.java63
-rw-r--r--Essentials/src/net/ess3/api/server/Server.java30
-rw-r--r--Essentials/src/net/ess3/api/server/World.java28
-rw-r--r--Essentials/src/net/ess3/api/server/events/EventFactory.java7
-rw-r--r--Essentials/src/net/ess3/api/server/events/EventListener.java21
-rw-r--r--Essentials/src/net/ess3/api/server/events/EventPriority.java12
-rw-r--r--Essentials/src/net/ess3/api/server/events/EventType.java7
-rw-r--r--Essentials/src/net/ess3/backup/Backup.java16
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java13
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitCommandSender.java53
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitItemStack.java74
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitLocation.java63
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitMaterial.java104
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitPermission.java82
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitPlayer.java213
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitPlugin.java163
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitServer.java134
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitWorld.java53
-rw-r--r--Essentials/src/net/ess3/bukkit/EssentialsPlugin.java95
-rw-r--r--Essentials/src/net/ess3/bukkit/Inventory.java54
-rw-r--r--Essentials/src/net/ess3/bukkit/LivingEntities.java58
-rw-r--r--Essentials/src/net/ess3/bukkit/Mob.java116
-rw-r--r--Essentials/src/net/ess3/bukkit/PermissionFactory.java51
-rw-r--r--Essentials/src/net/ess3/bukkit/VersionCheck.java2
-rw-r--r--Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java21
-rw-r--r--Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java25
-rw-r--r--Essentials/src/net/ess3/bukkit/events/BukkitListener.java70
-rw-r--r--Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java32
-rw-r--r--Essentials/src/net/ess3/commands/Commandafk.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandback.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbackup.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbalance.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandbalancetop.java19
-rw-r--r--Essentials/src/net/ess3/commands/Commandban.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandbanip.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandbigtree.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandbreak.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandbroadcast.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandburn.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandclearinventory.java38
-rw-r--r--Essentials/src/net/ess3/commands/Commandcompass.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commanddelhome.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commanddeljail.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commanddelwarp.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commanddepth.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandeco.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandenchant.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandenderchest.java26
-rw-r--r--Essentials/src/net/ess3/commands/Commandessentials.java121
-rw-r--r--Essentials/src/net/ess3/commands/Commandexp.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandext.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandfeed.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commandfireball.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandfly.java27
-rw-r--r--Essentials/src/net/ess3/commands/Commandgamemode.java19
-rw-r--r--Essentials/src/net/ess3/commands/Commandgc.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandgetpos.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandgive.java25
-rw-r--r--Essentials/src/net/ess3/commands/Commandgod.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandhat.java17
-rw-r--r--Essentials/src/net/ess3/commands/Commandheal.java20
-rw-r--r--Essentials/src/net/ess3/commands/Commandhelp.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandhelpop.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandhome.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandignore.java14
-rw-r--r--Essentials/src/net/ess3/commands/Commandinfo.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandinvsee.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commanditem.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commanditemdb.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandjails.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandjump.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandkick.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandkickall.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandkill.java14
-rw-r--r--Essentials/src/net/ess3/commands/Commandkillall.java14
-rw-r--r--Essentials/src/net/ess3/commands/Commandkit.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandkittycannon.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandlightning.java22
-rw-r--r--Essentials/src/net/ess3/commands/Commandlist.java25
-rw-r--r--Essentials/src/net/ess3/commands/Commandmail.java49
-rw-r--r--Essentials/src/net/ess3/commands/Commandme.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandmore.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandmotd.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandmsg.java41
-rw-r--r--Essentials/src/net/ess3/commands/Commandmute.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandnear.java16
-rw-r--r--Essentials/src/net/ess3/commands/Commandnick.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandpay.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandping.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandpowertool.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandptime.java20
-rw-r--r--Essentials/src/net/ess3/commands/Commandr.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandrealname.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandremove.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandrepair.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandrules.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandseen.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandsell.java23
-rw-r--r--Essentials/src/net/ess3/commands/Commandsethome.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandsetjail.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandsetspawn.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandsetwarp.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandsetworth.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawn.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawner.java28
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawnmob.java73
-rw-r--r--Essentials/src/net/ess3/commands/Commandspeed.java150
-rw-r--r--Essentials/src/net/ess3/commands/Commandsudo.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandsuicide.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandtempban.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandthunder.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandtime.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandtogglejail.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandtop.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandtp.java35
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpa.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpaall.java10
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpaccept.java17
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpahere.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpall.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpdeny.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandtphere.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpo.java3
-rw-r--r--Essentials/src/net/ess3/commands/Commandtpohere.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandtppos.java9
-rw-r--r--Essentials/src/net/ess3/commands/Commandtree.java7
-rw-r--r--Essentials/src/net/ess3/commands/Commandunban.java21
-rw-r--r--Essentials/src/net/ess3/commands/Commandunbanip.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandunlimited.java27
-rw-r--r--Essentials/src/net/ess3/commands/Commandwarp.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandweather.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandwhois.java29
-rw-r--r--Essentials/src/net/ess3/commands/Commandworkbench.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandworld.java19
-rw-r--r--Essentials/src/net/ess3/commands/Commandworth.java27
-rw-r--r--Essentials/src/net/ess3/commands/EssentialsCommand.java44
-rw-r--r--Essentials/src/net/ess3/commands/EssentialsCommandHandler.java25
-rw-r--r--Essentials/src/net/ess3/commands/IEssentialsCommand.java2
-rw-r--r--Essentials/src/net/ess3/craftbukkit/SetExpFix.java61
-rw-r--r--Essentials/src/net/ess3/economy/Economy.java3
-rw-r--r--Essentials/src/net/ess3/economy/Trade.java34
-rw-r--r--Essentials/src/net/ess3/economy/WorthHolder.java2
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsBlockListener.java44
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsEntityListener.java13
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsPlayerListener.java30
-rw-r--r--Essentials/src/net/ess3/metrics/Metrics.java12
-rw-r--r--Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java13
-rw-r--r--Essentials/src/net/ess3/permissions/GivePermissions.java15
-rw-r--r--Essentials/src/net/ess3/permissions/ItemPermissions.java15
-rw-r--r--Essentials/src/net/ess3/permissions/KitPermissions.java8
-rw-r--r--Essentials/src/net/ess3/permissions/Permissions.java31
-rw-r--r--Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java9
-rw-r--r--Essentials/src/net/ess3/permissions/WarpPermissions.java8
-rw-r--r--Essentials/src/net/ess3/ranks/GMGroups.java22
-rw-r--r--Essentials/src/net/ess3/ranks/RanksStorage.java3
-rw-r--r--Essentials/src/net/ess3/ranks/VaultGroups.java46
-rw-r--r--Essentials/src/net/ess3/settings/Commands.java1
-rw-r--r--Essentials/src/net/ess3/settings/General.java31
-rw-r--r--Essentials/src/net/ess3/settings/Kit.java2
-rw-r--r--Essentials/src/net/ess3/settings/SpawnsHolder.java14
-rw-r--r--Essentials/src/net/ess3/settings/Warp.java4
-rw-r--r--Essentials/src/net/ess3/settings/WorldOptions.java37
-rw-r--r--Essentials/src/net/ess3/settings/antibuild/Alert.java32
-rw-r--r--Essentials/src/net/ess3/settings/antibuild/AntiBuild.java39
-rw-r--r--Essentials/src/net/ess3/settings/antibuild/BlackList.java38
-rw-r--r--Essentials/src/net/ess3/settings/commands/Speed.java17
-rw-r--r--Essentials/src/net/ess3/settings/geoip/Database.java2
-rw-r--r--Essentials/src/net/ess3/settings/protect/Prevent.java12
-rw-r--r--Essentials/src/net/ess3/settings/protect/Protect.java29
-rw-r--r--Essentials/src/net/ess3/settings/protect/SignsAndRails.java26
-rw-r--r--Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java1
-rw-r--r--Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java1
-rw-r--r--Essentials/src/net/ess3/storage/BukkitConstructor.java24
-rw-r--r--Essentials/src/net/ess3/storage/Location.java115
-rw-r--r--Essentials/src/net/ess3/storage/StorageObjectMap.java2
-rw-r--r--Essentials/src/net/ess3/storage/StoredLocation.java6
-rw-r--r--Essentials/src/net/ess3/storage/YamlStorageReader.java6
-rw-r--r--Essentials/src/net/ess3/user/PlayerNotFoundException.java11
-rw-r--r--Essentials/src/net/ess3/user/TooManyMatchesException.java43
-rw-r--r--Essentials/src/net/ess3/user/User.java154
-rw-r--r--Essentials/src/net/ess3/user/UserBase.java139
-rw-r--r--Essentials/src/net/ess3/user/UserData.java2
-rw-r--r--Essentials/src/net/ess3/user/UserMap.java78
-rw-r--r--Essentials/src/net/ess3/utils/FormatUtil.java151
-rw-r--r--Essentials/src/net/ess3/utils/LocationUtil.java86
-rw-r--r--Essentials/src/net/ess3/utils/Util.java228
-rw-r--r--Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java38
-rw-r--r--Essentials/src/net/ess3/utils/textreader/TextInput.java14
-rw-r--r--Essentials/src/net/ess3/utils/textreader/TextPager.java2
-rw-r--r--Essentials/src/plugin.yml12
-rw-r--r--Essentials/test/net/ess3/EconomyTest.java2
-rw-r--r--Essentials/test/net/ess3/EssentialsTest.java106
-rw-r--r--Essentials/test/net/ess3/FakeOfflinePlayer.java100
-rw-r--r--Essentials/test/net/ess3/FakeServer.java934
-rw-r--r--Essentials/test/net/ess3/FakeWorld.java678
-rw-r--r--Essentials/test/net/ess3/StorageTest.java4
-rw-r--r--Essentials/test/net/ess3/UserTest.java7
-rw-r--r--Essentials/test/net/ess3/UtilTest.java7
-rw-r--r--Essentials/test/net/ess3/testserver/TestPlayer.java206
-rw-r--r--Essentials/test/net/ess3/testserver/TestPlugin.java103
-rw-r--r--Essentials/test/net/ess3/testserver/TestServer.java95
-rw-r--r--Essentials/test/net/ess3/testserver/TestWorld.java77
-rw-r--r--Essentials2Compat/src/com/earth2me/essentials/Economy.java3
-rw-r--r--Essentials2Compat/src/com/earth2me/essentials/EssentialsUpgrade.java36
-rw-r--r--EssentialsAntiBuild/pom.xml21
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/AntiBuildHolder.java31
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuild.java57
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java322
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsConnect.java55
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/IAntiBuild.java15
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java177
-rw-r--r--EssentialsAntiBuild/src/plugin.yml9
-rw-r--r--EssentialsChat/src/net/ess3/chat/EssentialsChat.java8
-rw-r--r--EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java5
-rw-r--r--EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java2
-rw-r--r--EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIP.java8
-rw-r--r--EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java2
-rw-r--r--EssentialsProtect/pom.xml35
-rw-r--r--EssentialsProtect/src/net/ess3/protect/BlockBreakPermissions.java46
-rw-r--r--EssentialsProtect/src/net/ess3/protect/BlockPlacePermissions.java46
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java96
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java96
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java417
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java38
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectPlayerListener.java98
-rw-r--r--EssentialsProtect/src/net/ess3/protect/IProtect.java3
-rw-r--r--EssentialsProtect/src/net/ess3/protect/ItemUsePermissions.java45
-rw-r--r--EssentialsProtect/src/net/ess3/protect/Permissions.java23
-rw-r--r--EssentialsProtect/src/net/ess3/protect/ProtectHolder.java6
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/IProtectedBlock.java24
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/OwnedBlock.java20
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockJDBC.java434
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMemory.java258
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMySQL.java160
-rw-r--r--EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockSQLite.java108
-rw-r--r--EssentialsSigns/src/net/ess3/signs/EssentialsSign.java5
-rw-r--r--EssentialsSigns/src/net/ess3/signs/EssentialsSignsPlugin.java8
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignBalance.java3
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignBlockListener.java3
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignEnchant.java4
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignFree.java4
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignGameMode.java4
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignHeal.java6
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignInfo.java6
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignProtection.java3
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignRepair.java12
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignTime.java8
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignTrade.java22
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignWeather.java6
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java3
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/Commandxmppspy.java1
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java17
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java9
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/IEssentialsXMPP.java9
-rw-r--r--EssentialsXMPP/src/net/ess3/xmpp/XMPPManager.java5
-rw-r--r--README.markdown2
-rw-r--r--pom.xml3
301 files changed, 3186 insertions, 7784 deletions
diff --git a/Essentials/pom.xml b/Essentials/pom.xml
index 037bb6f11..b6c41cbbb 100644
--- a/Essentials/pom.xml
+++ b/Essentials/pom.xml
@@ -36,7 +36,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
- <version>0.11.2</version>
+ <version>0.11.4</version>
</dependency>
<dependency>
<groupId>ru.tehkode</groupId>
@@ -91,5 +91,11 @@
<artifactId>Vault</artifactId>
<version>1.2</version>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.0</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties
index 15b63260d..df5ba9e0e 100644
--- a/Essentials/src/messages.properties
+++ b/Essentials/src/messages.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cYou do the crime, you do the time.
jailNotExist=That jail does not exist.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 unjailed.
jailReleasedPlayerNotify=\u00a77You have been released!
-jailSentenceExtended=Jail time extend to: {0)
+jailSentenceExtended=Jail time extend to: {0}
jailSet=\u00a77Jail {0} has been set
jumpError=That would hurt your computer's brain.
kickDefault=Kicked from server
diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties
index 3a20bf6cb..773310b58 100644
--- a/Essentials/src/messages_cs.properties
+++ b/Essentials/src/messages_cs.properties
@@ -174,7 +174,7 @@ jailMessage=\u00a7cPorusil jsi pravidla, ted si to odsedis!
jailNotExist=Toto vezeni neexistuje.
jailReleased=\u00a77Hrac \u00a7e{0}\u00a77 byl propusten na svobodu.
jailReleasedPlayerNotify=\u00a77Byl jsi propusten na svobodu!
-jailSentenceExtended=Cas ve vezeni prodlouzen na: {0)
+jailSentenceExtended=Cas ve vezeni prodlouzen na: {0}
jailSet=\u00a77Vezeni {0} bylo vytvoreno.
jumpError=Tohle by tvuj procesor nemusel rozdychat.
kickDefault=Vyhozen ze serveru
diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties
index cb1ee1056..7eeb72a3a 100644
--- a/Essentials/src/messages_da.properties
+++ b/Essentials/src/messages_da.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cDu bryder reglerne, du tager straffen.
jailNotExist=Det f\u00e6ngsel eksisterer ikke.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 befriet fra f\u00c3\u00a6ngslet.
jailReleasedPlayerNotify=\u00a77Du er blevet befriet fra f\u00c3\u00a6nglset!
-jailSentenceExtended=F\u00c3\u00a6ngselsdom forl\u00c3\u00a6nget til: {0)
+jailSentenceExtended=F\u00c3\u00a6ngselsdom forl\u00c3\u00a6nget til: {0}
jailSet=\u00a77F\u00e6ngsel {0} er blevet sat.
jumpError=Dette vil skade din computer''s hjerne.
kickDefault=Kicked fra serveren.
diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties
index 5b6c8d95d..d02e428ee 100644
--- a/Essentials/src/messages_de.properties
+++ b/Essentials/src/messages_de.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cDu hast ein Verbrechen begangen, also hast du Zeit.
jailNotExist=Dieses Gef\u00e4ngnis existiert nicht.
jailReleased=\u00a77Spieler \u00a7e{0}\u00a77 wurde freigelassen.
jailReleasedPlayerNotify=\u00a77Du wurdest freigelassen!
-jailSentenceExtended=Gef\u00e4ngnisszeit erweitert auf: {0)
+jailSentenceExtended=Gef\u00e4ngnisszeit erweitert auf: {0}
jailSet=\u00a77Gef\u00e4ngnis {0} wurde erstellt.
jumpError=Das w\u00fcrde deinen Computer \u00fcberlasten.
kickDefault=Vom Server geworfen
diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties
index 15b63260d..df5ba9e0e 100644
--- a/Essentials/src/messages_en.properties
+++ b/Essentials/src/messages_en.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cYou do the crime, you do the time.
jailNotExist=That jail does not exist.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 unjailed.
jailReleasedPlayerNotify=\u00a77You have been released!
-jailSentenceExtended=Jail time extend to: {0)
+jailSentenceExtended=Jail time extend to: {0}
jailSet=\u00a77Jail {0} has been set
jumpError=That would hurt your computer's brain.
kickDefault=Kicked from server
diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties
index 640707b2b..2786c96ec 100644
--- a/Essentials/src/messages_es.properties
+++ b/Essentials/src/messages_es.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cPor hacer el mal, tiempo en la carcel estaras.
jailNotExist=Esa carcel no existe.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 liberado.
jailReleasedPlayerNotify=\u00a77 Has sido liberado!!
-jailSentenceExtended=El tiempo en la carcel se alarga hasta: {0)
+jailSentenceExtended=El tiempo en la carcel se alarga hasta: {0}
jailSet=\u00a77Carcel {0} ha sido puesta
jumpError=Eso es demasiado para tu ordenador!
kickDefault=Echado del servidor.
diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/messages_fi.properties
index f56a0a00b..300c858ee 100644
--- a/Essentials/src/messages_fi.properties
+++ b/Essentials/src/messages_fi.properties
@@ -166,7 +166,7 @@ jailMessage=\u00a7cSin\u00e4 teet rikoksen, istut my\u00f6s sen mukaan.
jailNotExist=Tuota vankilaa ei ole olemassa.
jailReleased=\u00a77Pelaaja \u00a7e{0}\u00a77 vapautettu.
jailReleasedPlayerNotify=\u00a77Sinut on vapautettu!
-jailSentenceExtended=Vankila aika pidennetty: {0)
+jailSentenceExtended=Vankila aika pidennetty: {0}
jailSet=\u00a77Vankila {0} on asetettu
jumpError=Tuo vahingoittaisi koneesi aivoja.
kickDefault=Potkittu palvelimelta
diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties
index d0243cf32..6cbc99a09 100644
--- a/Essentials/src/messages_fr.properties
+++ b/Essentials/src/messages_fr.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cVous avez commis un crime, vous en payez le prix.
jailNotExist=Cette prison n'existe pas.
jailReleased=\u00a77Joueur \u00a7e{0}\u00a77 lib\u00e9r\u00e9.
jailReleasedPlayerNotify=\u00a77Vous avez \u00e9t\u00e9 lib\u00e9r\u00e9 !
-jailSentenceExtended=Dur\u00e9e d''emprisonnement rallong\u00e9e de : {0)
+jailSentenceExtended=Dur\u00e9e d''emprisonnement rallong\u00e9e de : {0}
jailSet=\u00a77La prison {0} a \u00e9t\u00e9 cr\u00e9\u00e9.
jumpError=\u00c7a aurait pu faire mal au cerveau de votre ordinateur.
kickDefault=\u00c9ject\u00e9 du serveur
diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties
index 4a966bd50..e63648ed6 100644
--- a/Essentials/src/messages_it.properties
+++ b/Essentials/src/messages_it.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cAvrai tempo per riflettere..in prigione.
jailNotExist=La prigione dichiarata non esiste.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 scarcerato.
jailReleasedPlayerNotify=\u00a77Sei stato scarcerato!
-jailSentenceExtended=Tempo di incarcerazione aumentato di: {0)
+jailSentenceExtended=Tempo di incarcerazione aumentato di: {0}
jailSet=\u00a77{0} e'' ora una prigione.
jumpError=Cosi'' facendo danneggerai la cpu.
kickDefault=Kickato dal server
diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties
index a9335f9e0..3c07ca556 100644
--- a/Essentials/src/messages_nl.properties
+++ b/Essentials/src/messages_nl.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cJij begaat het misdrijf, jij zit je tijd uit.
jailNotExist=Die gevangenis bestaat niet.
jailReleased=\u00a77Speler \u00a7e{0}\u00a77 vrijgelaten.
jailReleasedPlayerNotify=\u00a77Je bent vrijgelaten!
-jailSentenceExtended=Gevangenistijd verlengt tot: {0)
+jailSentenceExtended=Gevangenistijd verlengt tot: {0}
jailSet=\u00a77Gevangenis {0} is ingesteld
jumpError=Dat zou je computers hersenen beschadigen.
kickDefault=Je bent van de server afgeschopt.
diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties
index 7d55bd58e..fd4dcc151 100644
--- a/Essentials/src/messages_pl.properties
+++ b/Essentials/src/messages_pl.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cZa kazde przewinienie czeka kara.
jailNotExist=Nie ma takiego wiezienia..
jailReleased=\u00a77Gracz \u00a7e{0}\u00a77 wypuszczony z wiezienia.
jailReleasedPlayerNotify=\u00a77Zostales zwolniony!
-jailSentenceExtended=Czas pobyty w wiezieniu zwiekszony do: {0)
+jailSentenceExtended=Czas pobyty w wiezieniu zwiekszony do: {0}
jailSet=\u00a77Zostalo stworzone wiezienie \u0093{0}\u0094.
jumpError=To moglo by ci cos zrobic.
kickDefault=Zostales wyrzucony z serwera.
diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties
index e4ccd73a7..fbd1c4266 100644
--- a/Essentials/src/messages_pt.properties
+++ b/Essentials/src/messages_pt.properties
@@ -169,7 +169,7 @@ jailMessage=\u00a7cVoc\u00ea faz o crime, voc\u00ea cumpre a pena.
jailNotExist=esta cadeia nao existe.
jailReleased=\u00a77Player \u00a7e{0}\u00a77 libertado.
jailReleasedPlayerNotify=\u00a77Voc\u00ea foi solto!
-jailSentenceExtended=Tempo de prisao estendido para: {0)
+jailSentenceExtended=Tempo de prisao estendido para: {0}
jailSet=\u00a77Cela {0} foi definida
jumpError=Isso prejudica o c\u00e9rebro do seu computador.
kickDefault=Kickado do servidor.
diff --git a/Essentials/src/messages_se.properties b/Essentials/src/messages_se.properties
index f0741b3db..34aaf86c3 100644
--- a/Essentials/src/messages_se.properties
+++ b/Essentials/src/messages_se.properties
@@ -166,7 +166,7 @@ jailMessage=\u00a7cBryter du mot reglerna, får du stå ditt kast.
jailNotExist=Det fängelset finns inte.
jailReleased=\u00a77Spelaren \u00a7e{0}\u00a77 är frisläppt.
jailReleasedPlayerNotify=\u00a77Du har blivit frisläppt!
-jailSentenceExtended=Fängelsestraffet förlängt till: {0)
+jailSentenceExtended=Fängelsestraffet förlängt till: {0}
jailSet=\u00a77Fängelset {0} har skapats
jumpError=Det skulle skadat din dators hjärna.
kickDefault=Utsparkad från server
diff --git a/Essentials/src/net/ess3/Console.java b/Essentials/src/net/ess3/Console.java
index 4639a531a..93c638a77 100644
--- a/Essentials/src/net/ess3/Console.java
+++ b/Essentials/src/net/ess3/Console.java
@@ -1,7 +1,7 @@
package net.ess3;
import net.ess3.api.IReplyTo;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public final class Console implements IReplyTo
diff --git a/Essentials/src/net/ess3/Essentials.java b/Essentials/src/net/ess3/Essentials.java
index f99604076..f1deaee99 100644
--- a/Essentials/src/net/ess3/Essentials.java
+++ b/Essentials/src/net/ess3/Essentials.java
@@ -17,10 +17,6 @@
*/
package net.ess3;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.World;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -36,21 +32,16 @@ import net.ess3.economy.Economy;
import net.ess3.economy.Trade;
import net.ess3.economy.WorthHolder;
import net.ess3.economy.register.Methods;
-import net.ess3.listener.*;
import net.ess3.metrics.Metrics;
-import net.ess3.metrics.MetricsListener;
-import net.ess3.metrics.MetricsStarter;
import net.ess3.ranks.RanksStorage;
import net.ess3.settings.SettingsHolder;
import net.ess3.settings.SpawnsHolder;
import net.ess3.user.UserMap;
import net.ess3.utils.ExecuteTimer;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.Server;
+import org.bukkit.World;
+import org.bukkit.entity.Player;
import org.bukkit.plugin.InvalidDescriptionException;
-import org.yaml.snakeyaml.error.YAMLException;
public class Essentials implements IEssentials
@@ -78,7 +69,7 @@ public class Essentials implements IEssentials
@Getter
private final Logger logger;
@Getter
- private final Plugin plugin;
+ private final IPlugin plugin;
public static boolean testing;
private transient Metrics metrics;
@Getter
@@ -86,7 +77,7 @@ public class Essentials implements IEssentials
@Getter
private transient List<String> vanishedPlayers = new ArrayList<String>();
- public Essentials(final Server server, final Logger logger, final Plugin plugin)
+ public Essentials(final Server server, final Logger logger, final IPlugin plugin)
{
this.server = server;
this.logger = logger;
@@ -131,83 +122,44 @@ public class Essentials implements IEssentials
execTimer.start();
execTimer.mark("I18n1");
-
- execTimer.mark("BukkitCheck");
- try
- {
- //final EssentialsUpgrade upgrade = new EssentialsUpgrade(this);
- //upgrade.beforeSettings();
- //execTimer.mark("Upgrade");
- reloadList = new ArrayList<IReload>();
- settings = new SettingsHolder(this);
- reloadList.add(settings);
- execTimer.mark("Settings");
- //upgrade.afterSettings();
- //execTimer.mark("Upgrade2");
- i18n.updateLocale(settings.getLocale());
- userMap = new UserMap(this);
- reloadList.add(userMap);
- execTimer.mark("Init(Usermap)");
- groups = new RanksStorage(this);
- reloadList.add((RanksStorage)groups);
- warps = new Warps(this);
- reloadList.add(warps);
- execTimer.mark("Init(Spawn/Warp)");
- worth = new WorthHolder(this);
- reloadList.add(worth);
- itemDb = new ItemDb(this);
- reloadList.add(itemDb);
- execTimer.mark("Init(Worth/ItemDB)");
- kits = new Kits(this);
- reloadList.add(kits);
- commandHandler = new EssentialsCommandHandler(Essentials.class.getClassLoader(), "net.ess3.commands.Command", "essentials.", this);
- reloadList.add(commandHandler);
- economy = new Economy(this);
- reloadList.add(economy);
- spawns = new SpawnsHolder(this);
- reloadList.add(spawns);
- onReload();
- }
- catch (YAMLException exception)
- {
- if (pm.getPlugin("EssentialsUpdate") != null)
- {
- logger.log(Level.SEVERE, I18n._("essentialsHelp2"));
- }
- else
- {
- logger.log(Level.SEVERE, I18n._("essentialsHelp1"));
- }
- logger.log(Level.SEVERE, exception.toString());
- pm.registerEvents(new Listener()
- {
- @EventHandler(priority = EventPriority.LOW)
- public void onPlayerJoin(final PlayerJoinEvent event)
- {
- event.getPlayer().sendMessage("Essentials failed to load, read the log file.");
- }
- }, this);
- for (Player player : getServer().getOnlinePlayers())
- {
- player.sendMessage("Essentials failed to load, read the log file.");
- }
- this.setEnabled(false);
- return;
- }
- backup = new Backup(this);
- //permissionsHandler = new PermissionsHandler(this);
- final EssentialsPluginListener serverListener = new EssentialsPluginListener(this);
- pm.registerEvents(serverListener, this);
- reloadList.add(serverListener);
- final EssentialsPlayerListener playerListener = new EssentialsPlayerListener(this);
- pm.registerEvents(playerListener, this);
+ execTimer.mark("BukkitCheck");
- final EssentialsBlockListener blockListener = new EssentialsBlockListener(this);
- pm.registerEvents(blockListener, this);
+ //final EssentialsUpgrade upgrade = new EssentialsUpgrade(this);
+ //upgrade.beforeSettings();
+ //execTimer.mark("Upgrade");
+ reloadList = new ArrayList<IReload>();
+ settings = new SettingsHolder(this);
+ reloadList.add(settings);
+ execTimer.mark("Settings");
+ //upgrade.afterSettings();
+ //execTimer.mark("Upgrade2");
+ i18n.updateLocale(settings.getLocale());
+ userMap = new UserMap(this);
+ reloadList.add(userMap);
+ execTimer.mark("Init(Usermap)");
+ groups = new RanksStorage(this);
+ reloadList.add((RanksStorage)groups);
+ warps = new Warps(this);
+ reloadList.add(warps);
+ execTimer.mark("Init(Spawn/Warp)");
+ worth = new WorthHolder(this);
+ reloadList.add(worth);
+ itemDb = new ItemDb(this);
+ reloadList.add(itemDb);
+ execTimer.mark("Init(Worth/ItemDB)");
+ kits = new Kits(this);
+ reloadList.add(kits);
+ commandHandler = new EssentialsCommandHandler(Essentials.class.getClassLoader(), "net.ess3.commands.Command", "essentials.", this);
+ reloadList.add(commandHandler);
+ economy = new Economy(this);
+ reloadList.add(economy);
+ spawns = new SpawnsHolder(this);
+ reloadList.add(spawns);
+ onReload();
- final EssentialsEntityListener entityListener = new EssentialsEntityListener(this);
- pm.registerEvents(entityListener, this);
+ backup = new Backup(this);
+ //permissionsHandler = new PermissionsHandler(this);
jails = new Jails(this);
reloadList.add(jails);
@@ -217,17 +169,6 @@ public class Essentials implements IEssentials
getPlugin().scheduleSyncRepeatingTask(timer, 1, 100);
execTimer.mark("RegListeners");
- final MetricsStarter metricsStarter = new MetricsStarter(this);
- if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
- {
- getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
- }
- else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
- {
- final MetricsListener metricsListener = new MetricsListener(this, metricsStarter);
- pm.registerEvents(metricsListener, this);
- }
-
final String timeroutput = execTimer.end();
if (getSettings().isDebug())
{
@@ -240,7 +181,7 @@ public class Essentials implements IEssentials
{
for (Player p : getServer().getOnlinePlayers())
{
- IUser user = getUser(p);
+ IUser user = getUserMap().getUser(p);
if (user.isVanished())
{
user.toggleVanished();
@@ -308,18 +249,6 @@ public class Essentials implements IEssentials
}
@Override
- public IUser getUser(final Player player)
- {
- return userMap.getUser(player);
- }
-
- @Override
- public IUser getUser(final String playerName)
- {
- return userMap.getUser(playerName);
- }
-
- @Override
public World getWorld(final String name)
{
if (name.matches("[0-9]+"))
@@ -358,14 +287,14 @@ public class Essentials implements IEssentials
}
for (Player player : getServer().getOnlinePlayers())
{
- final IUser user = player.getUser();
+ final IUser user = getUserMap().getUser(player);
if (!user.isIgnoringPlayer(sender))
{
player.sendMessage(message);
}
}
- return getServer().getOnlinePlayers().size();
+ return getServer().getOnlinePlayers().length;
}
/*
@@ -382,7 +311,7 @@ public class Essentials implements IEssentials
{
return userMap;
}
-
+
@Override
public IRanks getRanks()
{
@@ -412,4 +341,10 @@ public class Essentials implements IEssentials
{
return economy;
}
+
+ @Override
+ public void reload()
+ {
+ //do something
+ }
}
diff --git a/Essentials/src/net/ess3/EssentialsTimer.java b/Essentials/src/net/ess3/EssentialsTimer.java
index 9066e2f0c..8382b6290 100644
--- a/Essentials/src/net/ess3/EssentialsTimer.java
+++ b/Essentials/src/net/ess3/EssentialsTimer.java
@@ -5,9 +5,9 @@ import java.util.logging.Level;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
+import org.bukkit.entity.Player;
public class EssentialsTimer implements Runnable
@@ -46,7 +46,7 @@ public class EssentialsTimer implements Runnable
try
{
- final IUser user = player.getUser();
+ final IUser user = ess.getUserMap().getUser(player);
if (user == null) {
continue;
}
diff --git a/Essentials/src/net/ess3/ItemDb.java b/Essentials/src/net/ess3/ItemDb.java
index 2159fd4e3..2127dd93e 100644
--- a/Essentials/src/net/ess3/ItemDb.java
+++ b/Essentials/src/net/ess3/ItemDb.java
@@ -1,7 +1,5 @@
package net.ess3;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -14,6 +12,8 @@ import net.ess3.api.IItemDb;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.storage.ManagedFile;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
public class ItemDb implements IItemDb
@@ -129,9 +129,9 @@ public class ItemDb implements IItemDb
metaData = (short)((item >> 32) & 0xffffL);
}
}
- else if (Material.get(itemname) != null)
+ else if (Material.matchMaterial(itemname) != null)
{
- itemid = Material.get(itemname).getId();
+ itemid = Material.matchMaterial(itemname).getId();
metaData = 0;
}
else
@@ -140,12 +140,12 @@ public class ItemDb implements IItemDb
}
}
- final Material mat = Material.get(itemid);
+ final Material mat = Material.getMaterial(itemid);
if (mat == null)
{
throw new Exception(_("unknownItemId", itemid));
}
- final ItemStack retval = ItemStack.create(mat, mat.getMaxStackSize(), metaData);
+ final ItemStack retval = new ItemStack(mat, mat.getMaxStackSize(), metaData);
return retval;
}
}
diff --git a/Essentials/src/net/ess3/Jails.java b/Essentials/src/net/ess3/Jails.java
index e2dfec477..7dc513a67 100644
--- a/Essentials/src/net/ess3/Jails.java
+++ b/Essentials/src/net/ess3/Jails.java
@@ -1,15 +1,15 @@
package net.ess3;
-import static net.ess3.I18n._;
-import net.ess3.api.IEssentials;
-import net.ess3.api.IJails;
-import net.ess3.api.IUser;
-import net.ess3.storage.AsyncStorageObjectHolder;
import java.io.File;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import lombok.Cleanup;
+import static net.ess3.I18n._;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IJails;
+import net.ess3.api.IUser;
+import net.ess3.storage.AsyncStorageObjectHolder;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
@@ -42,8 +42,8 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp
final PluginManager pluginManager = ess.getServer().getPluginManager();
final JailBlockListener blockListener = new JailBlockListener();
final JailPlayerListener playerListener = new JailPlayerListener();
- pluginManager.registerEvents(blockListener, ess);
- pluginManager.registerEvents(playerListener, ess);
+ pluginManager.registerEvents(blockListener, ess.getPlugin());
+ pluginManager.registerEvents(playerListener, ess.getPlugin());
}
@Override
@@ -157,6 +157,24 @@ public class Jails extends AsyncStorageObjectHolder<net.ess3.settings.Jails> imp
}
}
+ @Override
+ public void finishRead()
+ {
+
+ }
+
+ @Override
+ public void finishWrite()
+ {
+
+ }
+
+ @Override
+ public int getCount()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
private class JailBlockListener implements Listener
{
diff --git a/Essentials/src/net/ess3/Kits.java b/Essentials/src/net/ess3/Kits.java
index 3dfcac31f..24d7cdf5f 100644
--- a/Essentials/src/net/ess3/Kits.java
+++ b/Essentials/src/net/ess3/Kits.java
@@ -7,12 +7,12 @@ import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IKits;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
import net.ess3.commands.NoChargeException;
import net.ess3.settings.Kit;
import net.ess3.storage.AsyncStorageObjectHolder;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
+import org.bukkit.inventory.ItemStack;
public class Kits extends AsyncStorageObjectHolder<net.ess3.settings.Kits> implements IKits
diff --git a/Essentials/src/net/ess3/Teleport.java b/Essentials/src/net/ess3/Teleport.java
index 04e47e493..39d6bf8a3 100644
--- a/Essentials/src/net/ess3/Teleport.java
+++ b/Essentials/src/net/ess3/Teleport.java
@@ -1,21 +1,20 @@
package net.ess3;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.logging.Logger;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.ITeleport;
import net.ess3.api.IUser;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Location;
-import net.ess3.commands.NotEnoughArgumentsException;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.user.CooldownException;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
import net.ess3.utils.LocationUtil;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.logging.Logger;
+import org.bukkit.Location;
+import org.bukkit.entity.Entity;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -24,11 +23,10 @@ public class Teleport implements Runnable, ITeleport
private static final double MOVE_CONSTANT = 0.3;
-
private static class Target
{
private final Location location;
- private final Player entity;
+ private final Entity entity;
public Target(Location location)
{
@@ -36,7 +34,7 @@ public class Teleport implements Runnable, ITeleport
this.entity = null;
}
- public Target(Player entity)
+ public Target(Entity entity)
{
this.entity = entity;
this.location = null;
@@ -72,10 +70,10 @@ public class Teleport implements Runnable, ITeleport
{
this.started = System.currentTimeMillis();
this.delay = delay;
- this.health = user.getHealth();
- this.initX = Math.round(user.getLocation().getX() * MOVE_CONSTANT);
- this.initY = Math.round(user.getLocation().getY() * MOVE_CONSTANT);
- this.initZ = Math.round(user.getLocation().getZ() * MOVE_CONSTANT);
+ this.health = user.getPlayer().getHealth();
+ this.initX = Math.round(user.getPlayer().getLocation().getX() * MOVE_CONSTANT);
+ this.initY = Math.round(user.getPlayer().getLocation().getY() * MOVE_CONSTANT);
+ this.initZ = Math.round(user.getPlayer().getLocation().getZ() * MOVE_CONSTANT);
this.teleportTarget = target;
this.chargeFor = chargeFor;
this.cause = cause;
@@ -85,21 +83,21 @@ public class Teleport implements Runnable, ITeleport
public void run()
{
- if (user == null || !user.isOnline() || user.getLocation() == null)
+ if (user == null || !user.isOnline() || user.getPlayer().getLocation() == null)
{
cancel();
return;
}
- if (Math.round(user.getLocation().getX() * MOVE_CONSTANT) != initX
- || Math.round(user.getLocation().getY() * MOVE_CONSTANT) != initY
- || Math.round(user.getLocation().getZ() * MOVE_CONSTANT) != initZ
- || user.getHealth() < health)
+ if (Math.round(user.getPlayer().getLocation().getX() * MOVE_CONSTANT) != initX
+ || Math.round(user.getPlayer().getLocation().getY() * MOVE_CONSTANT) != initY
+ || Math.round(user.getPlayer().getLocation().getZ() * MOVE_CONSTANT) != initZ
+ || user.getPlayer().getHealth() < health)
{ // user moved, cancel teleport
cancel(true);
return;
}
- health = user.getHealth(); // in case user healed, then later gets injured
+ health = user.getPlayer().getHealth(); // in case user healed, then later gets injured
long now = System.currentTimeMillis();
if (now > started + delay)
@@ -139,7 +137,7 @@ public class Teleport implements Runnable, ITeleport
public void respawn(final Trade chargeFor, TeleportCause cause) throws Exception
{
final Location bed = user.getBedSpawnLocation();
- final Location respawnLoc = ess.getPlugin().callRespawnEvent(user, bed == null ? user.getWorld().getSpawnLocation() : bed, bed != null);
+ final Location respawnLoc = ess.getPlugin().callRespawnEvent(user.getPlayer(), bed == null ? user.getPlayer().getWorld().getSpawnLocation() : bed, bed != null);
teleport(new Target(respawnLoc), chargeFor, cause);
}
@@ -200,7 +198,7 @@ public class Teleport implements Runnable, ITeleport
teleport(new Target(loc), chargeFor, cause);
}
- public void teleport(Player entity, Trade chargeFor, TeleportCause cause) throws Exception
+ public void teleport(Entity entity, Trade chargeFor, TeleportCause cause) throws Exception
{
teleport(new Target(entity), chargeFor, cause);
}
@@ -239,7 +237,7 @@ public class Teleport implements Runnable, ITeleport
{
cancel();
user.setLastLocation();
- user.getBase().teleport(LocationUtil.getSafeDestination(target.getLocation()), cause);
+ user.getPlayer().teleport(LocationUtil.getSafeDestination(target.getLocation()), cause);
}
@Override
@@ -259,7 +257,7 @@ public class Teleport implements Runnable, ITeleport
now(new Target(loc), cause);
}
- public void now(Player entity, boolean cooldown, TeleportCause cause) throws Exception
+ public void now(Entity entity, boolean cooldown, TeleportCause cause) throws Exception
{
if (cooldown)
{
diff --git a/Essentials/src/net/ess3/Warps.java b/Essentials/src/net/ess3/Warps.java
index 08398b8e1..04663f6bd 100644
--- a/Essentials/src/net/ess3/Warps.java
+++ b/Essentials/src/net/ess3/Warps.java
@@ -1,16 +1,16 @@
package net.ess3;
+import java.io.File;
+import java.util.*;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IWarp;
import net.ess3.api.IWarps;
import net.ess3.api.InvalidNameException;
-import net.ess3.api.server.Location;
import net.ess3.commands.WarpNotFoundException;
import net.ess3.settings.WarpHolder;
import net.ess3.storage.StorageObjectMap;
-import java.io.File;
-import java.util.*;
+import org.bukkit.Location;
public class Warps extends StorageObjectMap<IWarp> implements IWarps
diff --git a/Essentials/src/net/ess3/api/Economy.java b/Essentials/src/net/ess3/api/Economy.java
index b16db0556..8b02dbbf1 100644
--- a/Essentials/src/net/ess3/api/Economy.java
+++ b/Essentials/src/net/ess3/api/Economy.java
@@ -1,5 +1,6 @@
package net.ess3.api;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
@@ -169,7 +170,7 @@ public final class Economy
{
throw new RuntimeException(noCallBeforeLoad);
}
- return Util.displayCurrency(amount, ess);
+ return FormatUtil.displayCurrency(amount, ess);
}
/**
diff --git a/Essentials/src/net/ess3/api/ICommandHandler.java b/Essentials/src/net/ess3/api/ICommandHandler.java
index be7a9e6c4..33093d4bd 100644
--- a/Essentials/src/net/ess3/api/ICommandHandler.java
+++ b/Essentials/src/net/ess3/api/ICommandHandler.java
@@ -1,8 +1,8 @@
package net.ess3.api;
-import net.ess3.api.server.CommandSender;
import java.util.Map;
import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
import org.bukkit.plugin.Plugin;
diff --git a/Essentials/src/net/ess3/api/IEssentials.java b/Essentials/src/net/ess3/api/IEssentials.java
index fba576dfc..f84633530 100644
--- a/Essentials/src/net/ess3/api/IEssentials.java
+++ b/Essentials/src/net/ess3/api/IEssentials.java
@@ -3,11 +3,10 @@ package net.ess3.api;
import java.util.List;
import java.util.logging.Logger;
import net.ess3.EssentialsTimer;
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.World;
import net.ess3.economy.register.Methods;
import net.ess3.metrics.Metrics;
+import org.bukkit.Server;
+import org.bukkit.World;
public interface IEssentials extends IComponent
@@ -47,7 +46,7 @@ public interface IEssentials extends IComponent
//int scheduleSyncDelayedTask(Runnable run, long delay);
//int scheduleSyncRepeatingTask(Runnable run, long delay, long period);
//IPermissionsHandler getPermissionsHandler();
- //void reload();
+ void reload();
void setRanks(IRanks groups);
@@ -59,7 +58,7 @@ public interface IEssentials extends IComponent
Logger getLogger();
- Plugin getPlugin();
+ IPlugin getPlugin();
List<String> getVanishedPlayers();
diff --git a/Essentials/src/net/ess3/api/IItemDb.java b/Essentials/src/net/ess3/api/IItemDb.java
index fa9e1d868..8738b1bab 100644
--- a/Essentials/src/net/ess3/api/IItemDb.java
+++ b/Essentials/src/net/ess3/api/IItemDb.java
@@ -1,6 +1,7 @@
package net.ess3.api;
-import net.ess3.api.server.ItemStack;
+import org.bukkit.inventory.ItemStack;
+
public interface IItemDb extends IReload
diff --git a/Essentials/src/net/ess3/api/IPermission.java b/Essentials/src/net/ess3/api/IPermission.java
index f210a890f..66cf09ad0 100644
--- a/Essentials/src/net/ess3/api/IPermission.java
+++ b/Essentials/src/net/ess3/api/IPermission.java
@@ -1,7 +1,9 @@
package net.ess3.api;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Permission;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
+
public interface IPermission
@@ -12,5 +14,5 @@ public interface IPermission
Permission getPermission();
- Permission.Default getPermissionDefault();
+ PermissionDefault getPermissionDefault();
}
diff --git a/Essentials/src/net/ess3/api/server/Plugin.java b/Essentials/src/net/ess3/api/IPlugin.java
index f0d10740c..83565f35e 100644
--- a/Essentials/src/net/ess3/api/server/Plugin.java
+++ b/Essentials/src/net/ess3/api/IPlugin.java
@@ -1,12 +1,13 @@
-package net.ess3.api.server;
+package net.ess3.api;
import java.io.File;
-import java.io.InputStream;
-import java.util.logging.Logger;
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
-
-public interface Plugin
-{
+public interface IPlugin extends Plugin {
+ IEssentials getEssentials();
+
int scheduleAsyncDelayedTask(final Runnable run);
int scheduleSyncDelayedTask(final Runnable run);
@@ -14,26 +15,18 @@ public interface Plugin
int scheduleSyncDelayedTask(final Runnable run, final long delay);
int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period);
-
+
int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period);
File getRootFolder();
-
- File getDataFolder();
- void cancelTask(int taskId);
+ void cancelTask(final int taskId);
String getVersion();
-
- Class getClassByName(String name);
- InputStream getResource(String string);
-
+ Class getClassByName(final String name);
+
Location callRespawnEvent(Player player, Location loc, boolean bedSpawn);
-
+
void callSuicideEvent(Player player);
-
- Logger getLogger();
-
- Server getServer();
}
diff --git a/Essentials/src/net/ess3/api/IReplyTo.java b/Essentials/src/net/ess3/api/IReplyTo.java
index 6e96166bb..7d232c709 100644
--- a/Essentials/src/net/ess3/api/IReplyTo.java
+++ b/Essentials/src/net/ess3/api/IReplyTo.java
@@ -1,6 +1,7 @@
package net.ess3.api;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
+
public interface IReplyTo
diff --git a/Essentials/src/net/ess3/api/IUser.java b/Essentials/src/net/ess3/api/IUser.java
index bb1d985ed..800c8aa64 100644
--- a/Essentials/src/net/ess3/api/IUser.java
+++ b/Essentials/src/net/ess3/api/IUser.java
@@ -1,19 +1,18 @@
package net.ess3.api;
import java.util.List;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Player;
import net.ess3.storage.IStorageObjectHolder;
import net.ess3.user.CooldownException;
import net.ess3.user.UserData;
+import org.bukkit.Location;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.ItemStack;
-public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload, IReplyTo, Comparable<IUser>
+public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolder<UserData>, IReload, IReplyTo, Comparable<IUser>
{
- Player getBase();
-
double getMoney();
void takeMoney(double value);
@@ -49,7 +48,7 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void updateActivity(boolean broadcast);
void updateDisplayName();
-
+
void setDisplayNick();
boolean checkJailTimeout(long currentTime);
@@ -75,8 +74,6 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void setIgnoredPlayer(IUser user, boolean set);
Location getAfkPosition();
-
- void dispose();
void updateCompass();
@@ -107,23 +104,42 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
public void updateMoneyCache(double userMoney);
public boolean canAfford(double amount, boolean b);
-
+
boolean isVanished();
-
+
void resetInvulnerabilityAfterTeleport();
-
+
void toggleVanished();
-
+
boolean isInvSee();
-
+
void setInvSee(boolean invsee);
- boolean hasInvulnerabilityAfterTeleport();
-
- void update(final Player base);
+ boolean isEnderSee();
+ void setEnderSee(boolean endersee);
+
+ boolean hasInvulnerabilityAfterTeleport();
+
void setGodModeEnabled(boolean set);
-
+
void setVanished(boolean set);
-
+
+ /**
+ * Since the Player object should not be stored for a long time, this method should be called again with a null
+ * value or the close() method should be called.
+ *
+ * @param player
+ */
+ void setPlayerCache(Player player);
+
+ /**
+ * If this is not cached using the setPlayerCache method, this call is slow and should not be called often.
+ *
+ * It iterates over all players, that are online and does a equal check on their names.
+ *
+ * @return
+ */
+ @Override
+ Player getPlayer();
}
diff --git a/Essentials/src/net/ess3/api/IUserMap.java b/Essentials/src/net/ess3/api/IUserMap.java
index 63cbb7340..8b94fc5ac 100644
--- a/Essentials/src/net/ess3/api/IUserMap.java
+++ b/Essentials/src/net/ess3/api/IUserMap.java
@@ -1,9 +1,10 @@
package net.ess3.api;
-import net.ess3.api.server.Player;
-import net.ess3.user.TooManyMatchesException;
import java.io.File;
import java.util.Set;
+import net.ess3.user.PlayerNotFoundException;
+import net.ess3.user.TooManyMatchesException;
+import org.bukkit.entity.Player;
public interface IUserMap extends IReload
@@ -22,7 +23,17 @@ public interface IUserMap extends IReload
File getUserFile(final String name) throws InvalidNameException;
- IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException;
+ /**
+ * This method never returns null.
+ *
+ * @param name
+ * @param includeHidden
+ * @param includeOffline
+ * @return
+ * @throws TooManyMatchesException if more than one player is found matching the name
+ * @throws PlayerNotFoundException if the player matching the name is not found
+ */
+ IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException, PlayerNotFoundException;
Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline);
}
diff --git a/Essentials/src/net/ess3/api/IWarps.java b/Essentials/src/net/ess3/api/IWarps.java
index 00939ff7e..908994486 100644
--- a/Essentials/src/net/ess3/api/IWarps.java
+++ b/Essentials/src/net/ess3/api/IWarps.java
@@ -1,8 +1,8 @@
package net.ess3.api;
-import net.ess3.api.server.Location;
import java.io.File;
import java.util.Collection;
+import org.bukkit.Location;
public interface IWarps extends IReload
diff --git a/Essentials/src/net/ess3/api/IWorth.java b/Essentials/src/net/ess3/api/IWorth.java
index 770170c31..ffc38a203 100644
--- a/Essentials/src/net/ess3/api/IWorth.java
+++ b/Essentials/src/net/ess3/api/IWorth.java
@@ -1,7 +1,6 @@
package net.ess3.api;
-import net.ess3.api.server.ItemStack;
-
+import org.bukkit.inventory.ItemStack;
public interface IWorth extends IReload
diff --git a/Essentials/src/net/ess3/api/ondemand/OnDemand.java b/Essentials/src/net/ess3/api/ondemand/OnDemand.java
deleted file mode 100644
index a2ec8e246..000000000
--- a/Essentials/src/net/ess3/api/ondemand/OnDemand.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package net.ess3.api.ondemand;
-
-import java.lang.ref.WeakReference;
-
-
-public abstract class OnDemand<T>
-{
- protected WeakReference<T> reference = null;
-
- public final T get()
- {
- T obj = reference == null ? null : reference.get();
- if (obj == null)
- {
- obj = getNew();
- reference = new WeakReference<T>(obj);
- }
- return obj;
- }
-
- protected abstract T getNew();
-}
diff --git a/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java b/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java
deleted file mode 100644
index b4805fb9d..000000000
--- a/Essentials/src/net/ess3/api/ondemand/UserOnDemand.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package net.ess3.api.ondemand;
-
-import net.ess3.api.IUser;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Server;
-
-
-public class UserOnDemand extends OnDemand<IUser>
-{
- private final String name;
- private final Server server;
-
- public UserOnDemand(String name, Server server)
- {
- this.name = name;
- this.server = server;
- }
-
- @Override
- protected IUser getNew()
- {
- Player player = server.getPlayer(name);
- if (player == null)
- {
- return null;
- }
- return player.getUser();
- }
-}
diff --git a/Essentials/src/net/ess3/api/server/Block.java b/Essentials/src/net/ess3/api/server/Block.java
deleted file mode 100644
index 633c1c6f8..000000000
--- a/Essentials/src/net/ess3/api/server/Block.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.ess3.api.server;
-
-import lombok.Delegate;
-
-public class Block {
-
- public Block(ItemStack stack, Location location)
- {
- this.stack = stack;
- this.location = location;
- }
-
-
- @Delegate
- private final ItemStack stack;
- @Delegate
- private final Location location;
-
- public ItemStack convertToItem()
- {
- final ItemStack is = ItemStack.create(this.stack.getType(), 1, this.stack.getDurability());
- return this.stack.getType().convertToItem(is);
- }
-}
diff --git a/Essentials/src/net/ess3/api/server/CommandSender.java b/Essentials/src/net/ess3/api/server/CommandSender.java
deleted file mode 100644
index 768dde9bb..000000000
--- a/Essentials/src/net/ess3/api/server/CommandSender.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.ess3.api.server;
-
-public interface CommandSender {
- boolean isPlayer();
-
- void sendMessage(String message);
-
- boolean isOp();
-
- boolean hasPermission(Permission bukkitPermission);
-
- void sendMessage(String[] string);
-}
diff --git a/Essentials/src/net/ess3/api/server/Enchantment.java b/Essentials/src/net/ess3/api/server/Enchantment.java
deleted file mode 100644
index 3e7baa0cf..000000000
--- a/Essentials/src/net/ess3/api/server/Enchantment.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.ess3.api.server;
-
-public abstract class Enchantment {
-
- public abstract int getMaxLevel();
-
-}
diff --git a/Essentials/src/net/ess3/api/server/IInventory.java b/Essentials/src/net/ess3/api/server/IInventory.java
deleted file mode 100644
index 783495864..000000000
--- a/Essentials/src/net/ess3/api/server/IInventory.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package net.ess3.api.server;
-
-import java.util.Map;
-
-public interface IInventory {
-
- public boolean containsItem(boolean b, boolean b0, ItemStack itemStack);
-
- public Map<Integer, ItemStack> addItem(ItemStack itemStack);
-
- public Map<Integer, ItemStack> addItem(boolean b, ItemStack itemStack);
-
- public Map<Integer, ItemStack> addItem(boolean b, int oversizedStacksize, ItemStack itemStack);
-
- public boolean addAllItems(boolean b, ItemStack itemStack);
-
- public void removeItem(boolean b, boolean b0, ItemStack itemStack);
-
-}
diff --git a/Essentials/src/net/ess3/api/server/IPermission.java b/Essentials/src/net/ess3/api/server/IPermission.java
deleted file mode 100644
index 23fee3a03..000000000
--- a/Essentials/src/net/ess3/api/server/IPermission.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package net.ess3.api.server;
-
-public interface IPermission {
-
-}
diff --git a/Essentials/src/net/ess3/api/server/ItemStack.java b/Essentials/src/net/ess3/api/server/ItemStack.java
deleted file mode 100644
index b383f4fd7..000000000
--- a/Essentials/src/net/ess3/api/server/ItemStack.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package net.ess3.api.server;
-
-
-public abstract class ItemStack implements Cloneable
-{
- public interface ItemStackFactory
- {
- ItemStack create(int id, int amount, int data);
- ItemStack clone(ItemStack stack);
- }
- private static ItemStackFactory factory;
-
- public static void setFactory(final ItemStackFactory factory)
- {
- ItemStack.factory = factory;
- }
-
- public static ItemStack create(int id, int amount, int data)
- {
- return factory.create(id, amount, data);
- }
-
- public static ItemStack create(Material mat, int amount, int data)
- {
- return factory.create(mat.getId(), amount, data);
- }
-
- public abstract Material getType();
-
- public abstract void setType(Material mat);
-
- public abstract void setType(int id);
-
- public abstract int getAmount();
-
- public abstract void setAmount(int value);
-
- public abstract short getDurability();
-
- public abstract void setDurability(short value);
-
- public abstract int getMaxStackSize();
-
- public abstract boolean isAir();
-
- public abstract void addEnchantment(Enchantment enchantment, int level);
-
- @Override
- public ItemStack clone()
- {
- return factory.clone(this);
- }
-}
diff --git a/Essentials/src/net/ess3/api/server/Location.java b/Essentials/src/net/ess3/api/server/Location.java
deleted file mode 100644
index 825e2f814..000000000
--- a/Essentials/src/net/ess3/api/server/Location.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package net.ess3.api.server;
-
-
-public abstract class Location
-{
- public interface LocationFactory {
- Location create(String worldName, double x, double y, double z, double yaw, double pitch);
- Location create(World world, double x, double y, double z, double yaw, double pitch);
- }
- private static LocationFactory factory;
-
- public static void setFactory(final LocationFactory factory) {
- Location.factory = factory;
- }
-
- public static Location create(String worldName, double x, double y, double z) {
- return factory.create(worldName, x, y, z, 0, 0);
- }
-
- public static Location create(String worldName, double x, double y, double z, double yaw, double pitch) {
- return factory.create(worldName, x, y, z, yaw, pitch);
- }
-
- public static Location create(World world, double x, double y, double z) {
- return factory.create(world, x, y, z, 0, 0);
- }
-
- public static Location create(World world, double x, double y, double z, double yaw, double pitch) {
- return factory.create(world, x, y, z, yaw, pitch);
- }
-
-
- public abstract double getX();
-
- public abstract double getY();
-
- public abstract double getZ();
-
- public abstract float getYaw();
-
- public abstract float getPitch();
-
- public abstract int getBlockX();
-
- public abstract int getBlockY();
-
- public abstract int getBlockZ();
-
- public abstract World getWorld();
-
- public abstract double distanceSquared(Location location);
-}
diff --git a/Essentials/src/net/ess3/api/server/Material.java b/Essentials/src/net/ess3/api/server/Material.java
deleted file mode 100644
index 5c41f8302..000000000
--- a/Essentials/src/net/ess3/api/server/Material.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package net.ess3.api.server;
-
-public abstract class Material {
-
- private static Material instance;
-
- public static void setInstance(final Material instance) {
- Material.instance = instance;
- }
-
- public static Material get(final int id) {
- return instance.getMaterialById(id);
- }
-
- public static Material get(final String name) {
- return instance.getMaterialByName(name);
- }
-
- public static Material match(String string)
- {
- return instance.matchMaterial(string);
- }
-
- protected abstract Material getMaterialByName(String name);
-
- protected abstract Material getMaterialById(int id);
-
- public abstract int getId();
-
- public abstract String getName();
-
- public abstract int getMaxStackSize();
-
- public abstract int getMaxDurability();
-
- protected abstract Material matchMaterial(String string);
-
- public abstract ItemStack convertToItem(ItemStack is);
-}
diff --git a/Essentials/src/net/ess3/api/server/Permission.java b/Essentials/src/net/ess3/api/server/Permission.java
deleted file mode 100644
index f4fb37cc4..000000000
--- a/Essentials/src/net/ess3/api/server/Permission.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package net.ess3.api.server;
-
-
-public abstract class Permission
-{
- public enum Default
- {
- TRUE, FALSE, OP, NOT_OP;
- }
-
-
- public interface PermissionFactory
- {
- Permission create(String name, Permission.Default defaultPermission);
- }
- private static PermissionFactory factory;
-
- public static void setFactory(final PermissionFactory factory)
- {
- Permission.factory = factory;
- }
-
- public static Permission create(final String name, Permission.Default defaultPermission)
- {
- return factory.create(name, defaultPermission);
- }
-}
diff --git a/Essentials/src/net/ess3/api/server/Player.java b/Essentials/src/net/ess3/api/server/Player.java
deleted file mode 100644
index d8928c4d1..000000000
--- a/Essentials/src/net/ess3/api/server/Player.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package net.ess3.api.server;
-
-import net.ess3.api.IUser;
-
-
-public interface Player extends CommandSender
-{
- IUser getUser();
-
- String getName();
-
- String getDisplayName();
-
- boolean isOnline();
-
- void setBanned(boolean bool);
-
- void kickPlayer(String reason);
-
- World getWorld();
-
- Location getLocation();
-
- Location getEyeLocation();
-
- void setFireTicks(int value);
-
- void setFoodLevel(int value);
-
- void setSaturation(float value);
-
- int getHealth();
-
- void setHealth(int value);
-
- void updateInventory();
-
- ItemStack getItemInHand();
-
- Location getBedSpawnLocation();
-
- boolean hasPlayedBefore();
-
- IInventory getInventory();
-
- void setTotalExperience(final int exp);
-
- int getTotalExperience();
-
- void setDisplayName(String name);
-
- void setPlayerListName(String name);
-
- void setSleepingIgnored(boolean b);
-
- boolean isBanned();
-
- void setCompassTarget(Location loc);
-
- void damage(int value);
-
- boolean isInSurvivalMode();
-}
diff --git a/Essentials/src/net/ess3/api/server/Server.java b/Essentials/src/net/ess3/api/server/Server.java
deleted file mode 100644
index 5a2f14431..000000000
--- a/Essentials/src/net/ess3/api/server/Server.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package net.ess3.api.server;
-
-import java.util.Collection;
-import java.util.List;
-
-
-public interface Server
-{
- List<World> getWorlds();
-
- World getWorld(String name);
-
- int broadcastMessage(String message);
-
- Collection<Player> getOnlinePlayers();
-
- CommandSender getConsoleSender();
-
- void dispatchCommand(CommandSender sender, String command);
-
- void banIP(String ip);
-
- <T> T getServiceProvider(Class<T> clazz);
-
- String getVersion();
-
- public void unbanIP(String string);
-
- public Player getPlayer(String name);
-}
diff --git a/Essentials/src/net/ess3/api/server/World.java b/Essentials/src/net/ess3/api/server/World.java
deleted file mode 100644
index 5648ea7ac..000000000
--- a/Essentials/src/net/ess3/api/server/World.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package net.ess3.api.server;
-
-import java.util.UUID;
-import org.bukkit.TreeType;
-
-public interface World {
- String getName();
-
- boolean generateTree(Location safeLocation, TreeType tree);
-
- int getHighestBlockYAt(int topX, int topZ);
-
- ItemStack dropItem(Location loc, ItemStack stack);
-
- UUID getUID();
-
- Location getSpawnLocation();
-
- void dropItemNaturally(Location location, ItemStack overflowStack);
-
- void setStorm(boolean b);
-
- void setWeatherDuration(int i);
-
- long getTime();
-
- boolean setSpawnLocation(int blockX, int blockY, int blockZ);
-}
diff --git a/Essentials/src/net/ess3/api/server/events/EventFactory.java b/Essentials/src/net/ess3/api/server/events/EventFactory.java
deleted file mode 100644
index fdaf8199f..000000000
--- a/Essentials/src/net/ess3/api/server/events/EventFactory.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.ess3.api.server.events;
-
-
-public interface EventFactory
-{
- public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled);
-}
diff --git a/Essentials/src/net/ess3/api/server/events/EventListener.java b/Essentials/src/net/ess3/api/server/events/EventListener.java
deleted file mode 100644
index 975a10357..000000000
--- a/Essentials/src/net/ess3/api/server/events/EventListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package net.ess3.api.server.events;
-
-import net.ess3.api.IUser;
-import net.ess3.api.ondemand.OnDemand;
-import net.ess3.api.server.Block;
-
-
-public abstract class EventListener
-{
- private static EventFactory eventFactory;
-
- public final void register(EventType type, EventPriority priority, boolean ignoreCancelled)
- {
- eventFactory.register(this, type, priority, ignoreCancelled);
- }
-
- public boolean onBlockPlace(Block block, OnDemand<IUser> user)
- {
- return true;
- }
-}
diff --git a/Essentials/src/net/ess3/api/server/events/EventPriority.java b/Essentials/src/net/ess3/api/server/events/EventPriority.java
deleted file mode 100644
index 76c4d891b..000000000
--- a/Essentials/src/net/ess3/api/server/events/EventPriority.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.ess3.api.server.events;
-
-
-public enum EventPriority
-{
- LOWEST,
- LOW,
- NORMAL,
- HIGH,
- HIGHEST,
- MONITOR
-}
diff --git a/Essentials/src/net/ess3/api/server/events/EventType.java b/Essentials/src/net/ess3/api/server/events/EventType.java
deleted file mode 100644
index 694ad04ee..000000000
--- a/Essentials/src/net/ess3/api/server/events/EventType.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.ess3.api.server.events;
-
-
-public enum EventType
-{
- PLACE_BLOCK
-}
diff --git a/Essentials/src/net/ess3/backup/Backup.java b/Essentials/src/net/ess3/backup/Backup.java
index 534b5655e..adb24e924 100644
--- a/Essentials/src/net/ess3/backup/Backup.java
+++ b/Essentials/src/net/ess3/backup/Backup.java
@@ -1,17 +1,17 @@
package net.ess3.backup;
-import static net.ess3.I18n._;
-import net.ess3.api.IBackup;
-import net.ess3.api.IEssentials;
-import net.ess3.api.ISettings;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import lombok.Cleanup;
+import static net.ess3.I18n._;
+import net.ess3.api.IBackup;
+import net.ess3.api.IEssentials;
+import net.ess3.api.ISettings;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
public class Backup implements Runnable, IBackup
@@ -26,7 +26,7 @@ public class Backup implements Runnable, IBackup
{
this.ess = ess;
server = ess.getServer();
- if (!server.getOnlinePlayers().isEmpty())
+ if (server.getOnlinePlayers().length > 0)
{
startTask();
}
@@ -134,7 +134,7 @@ public class Backup implements Runnable, IBackup
public void run()
{
server.dispatchCommand(server.getConsoleSender(), "save-on");
- if (server.getOnlinePlayers().isEmpty())
+ if (server.getOnlinePlayers().length > 0)
{
running.set(false);
if (taskId != -1)
diff --git a/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java b/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java
deleted file mode 100644
index e39e0c9a2..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitBlockFactory.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.ess3.bukkit;
-
-import net.ess3.api.server.Block;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Location;
-
-public class BukkitBlockFactory {
-
- public static Block convert(org.bukkit.block.Block block) {
- Location loc = Location.create(block.getWorld().getName(), block.getX(), block.getY(), block.getZ());
- return new Block(ItemStack.create(block.getTypeId(), 1, block.getData()), loc);
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitCommandSender.java b/Essentials/src/net/ess3/bukkit/BukkitCommandSender.java
deleted file mode 100644
index 278a7bcba..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitCommandSender.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package net.ess3.bukkit;
-
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Permission;
-
-
-public class BukkitCommandSender implements CommandSender
-{
- @Delegate
- @Getter
- private org.bukkit.command.CommandSender commandSender;
-
- public BukkitCommandSender(org.bukkit.command.CommandSender commandSender)
- {
- this.commandSender = commandSender;
- }
-
- @Override
- public boolean isPlayer()
- {
- return false;
- }
-
- @Override
- public boolean isOp()
- {
- return commandSender.isOp();
- }
-
- @Override
- public boolean hasPermission(Permission permission)
- {
- if (commandSender == null) {
- return false;
- } else {
- return commandSender.hasPermission(((BukkitPermission)permission).getBukkitPermission());
- }
- }
-
- @Override
- public void sendMessage(String message)
- {
- commandSender.sendMessage(message);
- }
-
- @Override
- public void sendMessage(String[] string)
- {
- commandSender.sendMessage(string);
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitItemStack.java b/Essentials/src/net/ess3/bukkit/BukkitItemStack.java
deleted file mode 100644
index 2cec7023c..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitItemStack.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package net.ess3.bukkit;
-
-import net.ess3.api.server.Enchantment;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
-import lombok.Delegate;
-import lombok.Getter;
-
-
-public class BukkitItemStack extends net.ess3.api.server.ItemStack
-{
- public static class BukkitItemStackFactory implements ItemStackFactory
- {
- @Override
- public ItemStack create(int id, int amount, int data)
- {
- return new BukkitItemStack(new org.bukkit.inventory.ItemStack(id, amount, (short)data));
- }
-
- @Override
- public ItemStack clone(final ItemStack stack)
- {
- return new BukkitItemStack(((BukkitItemStack)stack).getItemStack().clone());
- }
- }
-
-
- private interface Excludes
- {
- org.bukkit.Material getType();
- }
- @Delegate(excludes =
- {
- Excludes.class
- })
- @Getter
- private final org.bukkit.inventory.ItemStack itemStack;
-
- public BukkitItemStack(final org.bukkit.inventory.ItemStack itemStack)
- {
- super();
- this.itemStack = itemStack;
- }
-
- @Override
- public void addEnchantment(Enchantment enchantment, int level)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Material getType()
- {
- return Material.get(itemStack.getTypeId());
- }
-
- @Override
- public void setType(Material type)
- {
- itemStack.setTypeId(type.getId());
- }
-
- @Override
- public void setType(int id)
- {
- itemStack.setTypeId(id);
- }
-
- @Override
- public boolean isAir()
- {
- return itemStack.getTypeId() == 0;
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitLocation.java b/Essentials/src/net/ess3/bukkit/BukkitLocation.java
deleted file mode 100644
index 21021873c..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitLocation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package net.ess3.bukkit;
-
-import net.ess3.api.server.World;
-import net.ess3.api.server.Location;
-import lombok.Delegate;
-import lombok.Getter;
-
-
-public class BukkitLocation extends Location
-{
- public static class BukkitLocationFactory implements LocationFactory
- {
- private final org.bukkit.Server server;
-
- public BukkitLocationFactory(org.bukkit.Server server)
- {
- this.server = server;
- }
-
- @Override
- public Location create(String worldName, double x, double y, double z, double yaw, double pitch)
- {
- org.bukkit.World world = server.getWorld(worldName);
- return new BukkitLocation(new org.bukkit.Location(world, x, y, z, (float)yaw, (float)pitch));
- }
-
- @Override
- public Location create(World world, double x, double y, double z, double yaw, double pitch)
- {
- return new BukkitLocation(new org.bukkit.Location(((BukkitWorld)world).getBukkitWorld(), x, y, z, (float)yaw, (float)pitch));
- }
- }
-
-
- private interface Excludes
- {
- org.bukkit.World getWorld();
- }
- @Delegate(excludes =
- {
- Excludes.class
- })
- @Getter
- private final org.bukkit.Location bukkitLocation;
-
- public BukkitLocation(org.bukkit.Location bukkitLocation)
- {
- this.bukkitLocation = bukkitLocation;
- }
-
- @Override
- public World getWorld()
- {
- return new BukkitWorld(bukkitLocation.getWorld());
- }
-
- @Override
- public double distanceSquared(final Location location)
- {
- return bukkitLocation.distanceSquared(((BukkitLocation)location).getBukkitLocation());
- }
-
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitMaterial.java b/Essentials/src/net/ess3/bukkit/BukkitMaterial.java
index 84a6e7145..268413a54 100644
--- a/Essentials/src/net/ess3/bukkit/BukkitMaterial.java
+++ b/Essentials/src/net/ess3/bukkit/BukkitMaterial.java
@@ -1,125 +1,57 @@
package net.ess3.bukkit;
-import java.util.EnumMap;
-import lombok.Delegate;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
-public class BukkitMaterial extends Material
+public class BukkitMaterial
{
- private static EnumMap<org.bukkit.Material, BukkitMaterial> materials = new EnumMap<org.bukkit.Material, BukkitMaterial>(org.bukkit.Material.class);
-
- static
- {
- for (org.bukkit.Material material : org.bukkit.Material.values())
- {
- materials.put(material, new BukkitMaterial(material));
- }
- }
-
- @Override
- public int getId()
- {
- return this.material.getId();
- }
-
- @Override
- public int getMaxStackSize()
- {
- return this.material.getMaxStackSize();
- }
-
- private interface Excludes {
- short getMaxDurability();
- }
- @Delegate(excludes={Excludes.class})
- private final org.bukkit.Material material;
-
- private BukkitMaterial(final org.bukkit.Material material)
- {
- this.material = material;
- }
-
- @Override
- protected Material getMaterialByName(final String name)
- {
- final org.bukkit.Material mat = org.bukkit.Material.getMaterial(name);
- return materials.get(mat);
- }
-
- @Override
- protected Material getMaterialById(final int id)
- {
- final org.bukkit.Material mat = org.bukkit.Material.getMaterial(id);
- return materials.get(mat);
- }
-
- @Override
- protected Material matchMaterial(String string)
- {
- final org.bukkit.Material mat = org.bukkit.Material.matchMaterial(string);
- return materials.get(mat);
- }
-
- @Override
- public String getName()
- {
- return this.material.toString();
- }
-
- @Override
- public int getMaxDurability()
- {
- return (short)this.material.getMaxDurability();
- }
-
- @Override
- public ItemStack convertToItem(ItemStack is)
+ public static ItemStack convertBlockToItem(Material mat, short data)
{
- switch (org.bukkit.Material.getMaterial(is.getType().getId()))
+ final ItemStack is = new ItemStack(mat, 1, data);
+ switch (is.getType())
{
case WOODEN_DOOR:
- is.setType(org.bukkit.Material.WOOD_DOOR.getId());
+ is.setType(org.bukkit.Material.WOOD_DOOR);
is.setDurability((short)0);
break;
case IRON_DOOR_BLOCK:
- is.setType(org.bukkit.Material.IRON_DOOR.getId());
+ is.setType(org.bukkit.Material.IRON_DOOR);
is.setDurability((short)0);
break;
case SIGN_POST:
case WALL_SIGN:
- is.setType(org.bukkit.Material.SIGN.getId());
+ is.setType(org.bukkit.Material.SIGN);
is.setDurability((short)0);
break;
case CROPS:
- is.setType(org.bukkit.Material.SEEDS.getId());
+ is.setType(org.bukkit.Material.SEEDS);
is.setDurability((short)0);
break;
case CAKE_BLOCK:
- is.setType(org.bukkit.Material.CAKE.getId());
+ is.setType(org.bukkit.Material.CAKE);
is.setDurability((short)0);
break;
case BED_BLOCK:
- is.setType(org.bukkit.Material.BED.getId());
+ is.setType(org.bukkit.Material.BED);
is.setDurability((short)0);
break;
case REDSTONE_WIRE:
- is.setType(org.bukkit.Material.REDSTONE.getId());
+ is.setType(org.bukkit.Material.REDSTONE);
is.setDurability((short)0);
break;
case REDSTONE_TORCH_OFF:
case REDSTONE_TORCH_ON:
- is.setType(org.bukkit.Material.REDSTONE_TORCH_ON.getId());
+ is.setType(org.bukkit.Material.REDSTONE_TORCH_ON);
is.setDurability((short)0);
break;
case DIODE_BLOCK_OFF:
case DIODE_BLOCK_ON:
- is.setType(org.bukkit.Material.DIODE.getId());
+ is.setType(org.bukkit.Material.DIODE);
is.setDurability((short)0);
break;
case DOUBLE_STEP:
- is.setType(org.bukkit.Material.STEP.getId());
+ is.setType(org.bukkit.Material.STEP);
break;
case TORCH:
case RAILS:
@@ -147,10 +79,10 @@ public class BukkitMaterial extends Material
case FIRE:
return null;
case PUMPKIN_STEM:
- is.setType(org.bukkit.Material.PUMPKIN_SEEDS.getId());
+ is.setType(org.bukkit.Material.PUMPKIN_SEEDS);
break;
case MELON_STEM:
- is.setType(org.bukkit.Material.MELON_SEEDS.getId());
+ is.setType(org.bukkit.Material.MELON_SEEDS);
break;
}
return is;
diff --git a/Essentials/src/net/ess3/bukkit/BukkitPermission.java b/Essentials/src/net/ess3/bukkit/BukkitPermission.java
deleted file mode 100644
index 9c60a10e2..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitPermission.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package net.ess3.bukkit;
-
-import java.util.regex.Pattern;
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.server.Permission;
-import org.bukkit.Bukkit;
-import org.bukkit.permissions.PermissionDefault;
-import org.bukkit.plugin.PluginManager;
-
-
-public class BukkitPermission extends Permission
-{
- public static class BukkitPermissionFactory implements PermissionFactory
- {
- private static transient final Pattern DOT_PATTERN = Pattern.compile("\\.");
-
- @Override
- public Permission create(String permission, Permission.Default defaultPerm)
- {
- final PluginManager pluginManager = Bukkit.getServer().getPluginManager();
- final String[] parts = DOT_PATTERN.split(permission);
- final StringBuilder builder = new StringBuilder(permission.length());
- org.bukkit.permissions.Permission parent = null;
- for (int i = 0; i < parts.length - 1; i++)
- {
- builder.append(parts[i]).append(".*");
- String permString = builder.toString();
- org.bukkit.permissions.Permission perm = pluginManager.getPermission(permString);
- if (perm == null)
- {
- perm = new org.bukkit.permissions.Permission(permString, PermissionDefault.FALSE);
- pluginManager.addPermission(perm);
- if (parent != null)
- {
- parent.getChildren().put(perm.getName(), Boolean.TRUE);
- }
- parent = perm;
- }
- builder.deleteCharAt(builder.length() - 1);
- }
- org.bukkit.permissions.Permission perm = pluginManager.getPermission(permission);
- if (perm == null)
- {
- perm = new org.bukkit.permissions.Permission(permission, getBukkitDefaultPermission(defaultPerm));
- pluginManager.addPermission(perm);
- if (parent != null)
- {
- parent.getChildren().put(perm.getName(), Boolean.TRUE);
- }
- parent = perm;
- }
- perm.recalculatePermissibles();
- return new BukkitPermission(perm);
- }
- }
- @Delegate
- @Getter
- private final org.bukkit.permissions.Permission bukkitPermission;
-
- public BukkitPermission(org.bukkit.permissions.Permission bukkitPermission)
- {
- this.bukkitPermission = bukkitPermission;
- }
-
- public static PermissionDefault getBukkitDefaultPermission(final Permission.Default defaultPerm)
- {
- switch (defaultPerm)
- {
- case TRUE:
- return PermissionDefault.TRUE;
- case OP:
- return PermissionDefault.OP;
- case NOT_OP:
- return PermissionDefault.NOT_OP;
- case FALSE:
- return PermissionDefault.FALSE;
- default:
- return PermissionDefault.FALSE;
- }
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlayer.java b/Essentials/src/net/ess3/bukkit/BukkitPlayer.java
deleted file mode 100644
index 7b357e278..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitPlayer.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package net.ess3.bukkit;
-
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.IUser;
-import net.ess3.api.server.IInventory;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.World;
-import org.bukkit.GameMode;
-import org.bukkit.OfflinePlayer;
-
-
-public class BukkitPlayer extends BukkitCommandSender implements Player
-{
- private interface Excludes
- {
- org.bukkit.World getWorld();
-
- org.bukkit.Location getLocation();
-
- org.bukkit.Location getEyeLocation();
-
- org.bukkit.inventory.ItemStack getItemInHand();
-
- org.bukkit.Location getBedSpawnLocation();
-
- org.bukkit.inventory.Inventory getInventory();
-
- void setTotalExperience(int i);
-
- int getTotalExperience();
- }
- @Delegate(types =
- {
- org.bukkit.entity.Player.class, org.bukkit.entity.LivingEntity.class
- }, excludes =
- {
- OfflinePlayer.class, org.bukkit.command.CommandSender.class, Excludes.class
- })
- @Getter
- private transient org.bukkit.entity.Player onlinePlayer;
- /**
- * a set of data and methods common to both offline and online players.
- */
- @Delegate(excludes =
- {
- Excludes.class
- })
- @Getter
- private transient OfflinePlayer safePlayer;
- private final transient BukkitServer server;
- private transient IUser user = null;
-
- public BukkitPlayer(final OfflinePlayer player, final BukkitServer server)
- {
- super(player.getPlayer());
- this.server = server;
- if (player.isOnline())
- {
-
- setOnlinePlayer(player.getPlayer());
- }
- else
- {
- setOfflinePlayer(player);
- }
- }
-
- public final void setOfflinePlayer(final OfflinePlayer offlinePlayer)
- {
- safePlayer = offlinePlayer;
- onlinePlayer = null;
- }
-
- public final void setOnlinePlayer(final org.bukkit.entity.Player onlinePlayer)
- {
- safePlayer = this.onlinePlayer = onlinePlayer;
- }
-
- public String getSafeDisplayName()
- {
- return onlinePlayer == null ? getName() : getDisplayName();
- }
-
- @Override
- public IUser getUser()
- {
- return user;
- }
-
- @Override
- public boolean isPlayer()
- {
- return true;
- }
-
- @Override
- public World getWorld()
- {
- return server.getWorld(onlinePlayer.getWorld().getName());
- }
-
- @Override
- public Location getLocation()
- {
- return new BukkitLocation(onlinePlayer.getLocation());
- }
-
- @Override
- public Location getEyeLocation()
- {
- return new BukkitLocation(onlinePlayer.getEyeLocation());
- }
-
- @Override
- public BukkitItemStack getItemInHand()
- {
- return new BukkitItemStack(onlinePlayer.getItemInHand());
- }
-
- @Override
- public Location getBedSpawnLocation()
- {
- return new BukkitLocation(onlinePlayer.getBedSpawnLocation());
- }
-
- @Override
- public IInventory getInventory()
- {
- return new Inventory(onlinePlayer.getInventory());
- }
-
- @Override
- public void setTotalExperience(final int exp)
- {
- if (exp < 0)
- {
- throw new IllegalArgumentException("Experience is negative!");
- }
- onlinePlayer.setExp(0);
- onlinePlayer.setLevel(0);
- onlinePlayer.setTotalExperience(0);
- int amount = exp;
- while (amount > 0)
- {
- final int expToLevel = getExpToLevel();
- amount -= expToLevel;
- if (amount >= 0)
- {
- // give until next level
- onlinePlayer.giveExp(expToLevel);
- }
- else
- {
- // give the rest
- amount += expToLevel;
- onlinePlayer.giveExp(amount);
- amount = 0;
- }
- }
- }
-
- /*private int getExpToLevel()
- {
- return getExpToLevel(onlinePlayer.getLevel());
- }*/
-
- private static int getExpToLevel(final int level)
- {
- return 7 + (level * 7 >> 1);
- }
-
- @Override
- public int getTotalExperience()
- {
- int exp = (int) (getExpToLevel() * onlinePlayer.getExp());
- int currentLevel = onlinePlayer.getLevel();
-
- while (currentLevel > 0) {
- currentLevel--;
- exp += getExpToLevel(currentLevel);
- }
- return exp;
- }
-
-
- @Override
- public void sendMessage(final String message)
- {
- onlinePlayer.sendMessage(message);
- }
-
- @Override
- public void sendMessage(final String[] string)
- {
- onlinePlayer.sendMessage(string);
- }
-
-
- @Override
- public void setCompassTarget(final Location loc)
- {
- onlinePlayer.setCompassTarget(((BukkitLocation)loc).getBukkitLocation());
- }
-
-
- @Override
- public boolean isInSurvivalMode()
- {
- return onlinePlayer.getGameMode() == GameMode.SURVIVAL;
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
index 0d60bee19..c07f5d974 100644
--- a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
+++ b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
@@ -1,106 +1,195 @@
package net.ess3.bukkit;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.Location;
import java.io.File;
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.server.Server;
+import java.util.logging.Level;
+import net.ess3.Essentials;
+import static net.ess3.I18n._;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IPlugin;
+import net.ess3.listener.EssentialsBlockListener;
+import net.ess3.listener.EssentialsEntityListener;
+import net.ess3.listener.EssentialsPlayerListener;
+import net.ess3.listener.EssentialsPluginListener;
+import net.ess3.metrics.MetricsListener;
+import net.ess3.metrics.MetricsStarter;
+import org.bukkit.Location;
+import org.bukkit.command.Command;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
+import org.bukkit.plugin.PluginManager;
+import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.JavaPluginLoader;
-public class BukkitPlugin implements Plugin
-{
- private interface Excludes {
- public org.bukkit.Server getServer();
+public class BukkitPlugin extends JavaPlugin implements IPlugin
+{
+ private Essentials ess;
+
+ @Override
+ public void onEnable()
+ {
+
+ final PluginManager pm = this.getServer().getPluginManager();
+ //pm.registerEvents(getServer(), this);
+ ess = new Essentials(getServer(), getLogger(), this);
+ if (VersionCheck.checkVersion(this))
+ {
+ try
+ {
+ ess.onEnable();
+ }
+ catch (RuntimeException ex)
+ {
+ if (pm.getPlugin("EssentialsUpdate") == null)
+ {
+ getLogger().log(Level.SEVERE, _("essentialsHelp1"));
+ }
+ else
+ {
+ getLogger().log(Level.SEVERE, _("essentialsHelp2"));
+ }
+ getLogger().log(Level.SEVERE, ex.toString());
+ pm.registerEvents(new Listener()
+ {
+ @EventHandler(priority = EventPriority.LOW)
+ public void onPlayerJoin(final PlayerJoinEvent event)
+ {
+ event.getPlayer().sendMessage("Essentials failed to load, read the log file.");
+ }
+ }, this);
+ for (Player player : getServer().getOnlinePlayers())
+ {
+ player.sendMessage("Essentials failed to load, read the log file.");
+ }
+ this.setEnabled(false);
+ return;
+ }
+ }
+ else
+ {
+ this.setEnabled(false);
+ return;
+ }
+
+ final EssentialsPluginListener serverListener = new EssentialsPluginListener(ess);
+ pm.registerEvents(serverListener, this);
+ ess.addReloadListener(serverListener);
+
+ final EssentialsPlayerListener playerListener = new EssentialsPlayerListener(ess);
+ pm.registerEvents(playerListener, this);
+
+ final EssentialsBlockListener blockListener = new EssentialsBlockListener(ess);
+ pm.registerEvents(blockListener, this);
+
+ final EssentialsEntityListener entityListener = new EssentialsEntityListener(ess);
+ pm.registerEvents(entityListener, this);
+
+
+ final MetricsStarter metricsStarter = new MetricsStarter(ess);
+ if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
+ {
+ getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
+ }
+ else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
+ {
+ final MetricsListener metricsListener = new MetricsListener(ess, metricsStarter);
+ pm.registerEvents(metricsListener, this);
+ }
+ }
+
+ @Override
+ public void onDisable()
+ {
+ if (ess != null)
+ {
+ ess.onDisable();
+ }
}
- @Delegate(excludes={Excludes.class})
- @Getter
- private final org.bukkit.plugin.Plugin bukkitPlugin;
- @Getter
- private final Server server;
- public BukkitPlugin(final org.bukkit.plugin.Plugin plugin, final Server server)
+ @Override
+ public boolean onCommand(final org.bukkit.command.CommandSender sender, final Command command, final String label, final String[] args)
{
- this.bukkitPlugin = plugin;
- this.server = server;
+ return ess.getCommandHandler().handleCommand(sender, command, label, args);
}
@Override
public int scheduleAsyncDelayedTask(final Runnable run)
{
- return bukkitPlugin.getServer().getScheduler().scheduleAsyncDelayedTask(bukkitPlugin, run);
+ return getServer().getScheduler().scheduleAsyncDelayedTask(this, run);
}
@Override
public int scheduleSyncDelayedTask(final Runnable run)
{
- return bukkitPlugin.getServer().getScheduler().scheduleSyncDelayedTask(bukkitPlugin, run);
+ return getServer().getScheduler().scheduleSyncDelayedTask(this, run);
}
@Override
public int scheduleSyncDelayedTask(final Runnable run, final long delay)
{
- return bukkitPlugin.getServer().getScheduler().scheduleSyncDelayedTask(bukkitPlugin, run, delay);
+ return getServer().getScheduler().scheduleSyncDelayedTask(this, run, delay);
}
@Override
public int scheduleSyncRepeatingTask(final Runnable run, final long delay, final long period)
{
- return bukkitPlugin.getServer().getScheduler().scheduleSyncRepeatingTask(bukkitPlugin, run, delay, period);
+ return getServer().getScheduler().scheduleSyncRepeatingTask(this, run, delay, period);
}
-
+
@Override
public int scheduleAsyncRepeatingTask(final Runnable run, final long delay, final long period)
{
- return bukkitPlugin.getServer().getScheduler().scheduleAsyncRepeatingTask(bukkitPlugin, run, delay, period);
+ return getServer().getScheduler().scheduleAsyncRepeatingTask(this, run, delay, period);
}
-
+
@Override
public File getRootFolder()
{
- return bukkitPlugin.getDataFolder().getParentFile().getParentFile();
+ return getDataFolder().getParentFile().getParentFile();
}
@Override
public void cancelTask(final int taskId)
{
- bukkitPlugin.getServer().getScheduler().cancelTask(taskId);
+ getServer().getScheduler().cancelTask(taskId);
}
@Override
public String getVersion()
{
- return bukkitPlugin.getDescription().getVersion();
+ return getDescription().getVersion();
}
@Override
public Class getClassByName(final String name)
{
- final JavaPluginLoader jpl = (JavaPluginLoader)bukkitPlugin.getPluginLoader();
+ final JavaPluginLoader jpl = (JavaPluginLoader)this.getPluginLoader();
return jpl.getClassByName(name);
}
@Override
public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn)
{
- final PlayerRespawnEvent pre = new PlayerRespawnEvent(((BukkitPlayer)player).getOnlinePlayer(), ((BukkitLocation)loc).getBukkitLocation() , bedSpawn);
- getBukkitServer().getPluginManager().callEvent(pre);
- return new BukkitLocation(pre.getRespawnLocation());
+ final PlayerRespawnEvent pre = new PlayerRespawnEvent(player, loc, bedSpawn);
+ getServer().getPluginManager().callEvent(pre);
+ return pre.getRespawnLocation();
}
@Override
public void callSuicideEvent(Player player)
{
- EntityDamageEvent ede = new EntityDamageEvent(((BukkitPlayer)player).getOnlinePlayer(), EntityDamageEvent.DamageCause.SUICIDE, 1000);
- getBukkitServer().getPluginManager().callEvent(ede);
+ EntityDamageEvent ede = new EntityDamageEvent(player, EntityDamageEvent.DamageCause.SUICIDE, 1000);
+ getServer().getPluginManager().callEvent(ede);
}
-
- public org.bukkit.Server getBukkitServer()
+
+ @Override
+ public IEssentials getEssentials()
{
- return bukkitPlugin.getServer();
+ return ess;
}
}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitServer.java b/Essentials/src/net/ess3/bukkit/BukkitServer.java
deleted file mode 100644
index d0f548f09..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitServer.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package net.ess3.bukkit;
-
-import java.util.*;
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.IEssentials;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.World;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerLoginEvent;
-import org.bukkit.event.player.PlayerQuitEvent;
-import org.bukkit.event.world.WorldLoadEvent;
-import org.bukkit.event.world.WorldUnloadEvent;
-import org.bukkit.plugin.RegisteredServiceProvider;
-
-
-public class BukkitServer implements Server, Listener
-{
- private IEssentials ess;
- private interface Excludes
- {
- List<org.bukkit.World> getWorlds();
-
- org.bukkit.World getWorld(String name);
-
- org.bukkit.entity.Player[] getOnlinePlayers();
-
- BukkitCommandSender getConsoleSender();
-
- org.bukkit.entity.Player getPlayer(String name);
- }
- @Delegate(excludes = Excludes.class)
- private final org.bukkit.Server server;
- @Getter
- private List<World> worlds;
- private Map<String, World> worldsMap;
- @Getter
- private Collection<Player> onlinePlayers;
- private Map<String, Player> onlinePlayersMap;
- @Getter
- private CommandSender consoleSender;
-
- public BukkitServer(final org.bukkit.Server server)
- {
- this.server = server;
- consoleSender = new BukkitCommandSender(server.getConsoleSender());
- updateWorlds();
- }
-
- private void updateWorlds()
- {
- final ArrayList<World> lworlds = new ArrayList<World>(server.getWorlds().size());
- final HashMap<String, World> lworldsMap = new HashMap<String, World>();
- for (org.bukkit.World world : server.getWorlds())
- {
- final BukkitWorld w = new BukkitWorld(world);
- lworlds.add(w);
- lworldsMap.put(world.getName(), w);
- lworldsMap.put(world.getName().toLowerCase(Locale.ENGLISH), w);
- }
- this.worlds = Collections.unmodifiableList(lworlds);
- this.worldsMap = Collections.unmodifiableMap(lworldsMap);
- }
-
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public synchronized void onWorldLoadEvent(final WorldLoadEvent event)
- {
- updateWorlds();
- }
-
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public synchronized void onWorldUnloadEvent(final WorldUnloadEvent event)
- {
- updateWorlds();
- }
-
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public synchronized void onPlayerLoginEvent(final PlayerLoginEvent event)
- {
- final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap);
- BukkitPlayer p = new BukkitPlayer(event.getPlayer(), this);
-
- oplayersMap.put(event.getPlayer().getName(), p);
- onlinePlayersMap = Collections.unmodifiableMap(oplayersMap);
- onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values());
- }
-
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public synchronized void onPlayerQuitEvent(final PlayerQuitEvent event)
- {
- final ArrayList<Player> oplayers = new ArrayList<Player>(onlinePlayers);
- final HashMap<String, Player> oplayersMap = new HashMap<String, Player>(onlinePlayersMap);
- oplayersMap.remove(event.getPlayer().getName());
- onlinePlayersMap = Collections.unmodifiableMap(oplayersMap);
- onlinePlayers = Collections.unmodifiableCollection(oplayersMap.values());
- }
-
- @Override
- public World getWorld(final String name)
- {
- final World world = worldsMap.get(name);
- if (world == null)
- {
- return worldsMap.get(name.toLowerCase(Locale.ENGLISH));
- }
- return world;
- }
-
- @Override
- public void dispatchCommand(final CommandSender sender, final String command)
- {
- server.dispatchCommand(((BukkitCommandSender)sender).getCommandSender(), command);
- }
-
- @Override
- public <T> T getServiceProvider(final Class<T> clazz)
- {
- final RegisteredServiceProvider<T> rsp = server.getServicesManager().getRegistration(clazz);
- return rsp.getProvider();
- }
-
- public Player getPlayer(final org.bukkit.entity.Player player) {
- return onlinePlayersMap.get(player.getName());
- }
-
- @Override
- public Player getPlayer(final String playerName) {
- return onlinePlayersMap.get(playerName);
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/BukkitWorld.java b/Essentials/src/net/ess3/bukkit/BukkitWorld.java
deleted file mode 100644
index 894a40f85..000000000
--- a/Essentials/src/net/ess3/bukkit/BukkitWorld.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package net.ess3.bukkit;
-
-import lombok.Delegate;
-import lombok.Getter;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.World;
-import org.bukkit.TreeType;
-
-public class BukkitWorld implements World {
- private interface Excludes
- {
- boolean generateTree(Location safeLocation, TreeType tree);
-
- ItemStack dropItem(Location loc, ItemStack stack);
-
- Location getSpawnLocation();
-
- void dropItemNaturally(Location location, ItemStack overflowStack);
- }
- @Delegate(excludes = Excludes.class)
- @Getter
- private final org.bukkit.World bukkitWorld;
-
- public BukkitWorld(final org.bukkit.World world)
- {
- this.bukkitWorld = world;
- }
-
- @Override
- public boolean generateTree(Location safeLocation, TreeType tree)
- {
- return bukkitWorld.generateTree(((BukkitLocation)safeLocation).getBukkitLocation(), tree);
- }
-
- @Override
- public ItemStack dropItem(Location loc, ItemStack stack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void dropItemNaturally(Location location, ItemStack overflowStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java b/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java
deleted file mode 100644
index b198fef87..000000000
--- a/Essentials/src/net/ess3/bukkit/EssentialsPlugin.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package net.ess3.bukkit;
-
-import java.util.logging.Level;
-import net.ess3.Essentials;
-import static net.ess3.I18n._;
-import net.ess3.api.server.*;
-import org.bukkit.command.Command;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerJoinEvent;
-import org.bukkit.plugin.PluginManager;
-import org.bukkit.plugin.java.JavaPlugin;
-
-
-public class EssentialsPlugin extends JavaPlugin
-{
- private transient Essentials ess;
-
- public EssentialsPlugin()
- {
- Material.setInstance(BukkitMaterial.get(0));
- ItemStack.setFactory(new BukkitItemStack.BukkitItemStackFactory());
- Location.setFactory(new BukkitLocation.BukkitLocationFactory(getServer()));
- Permission.setFactory(new BukkitPermission.BukkitPermissionFactory());
- }
-
- @Override
- public void onEnable()
- {
-
- BukkitServer server = new BukkitServer(getServer());
- final PluginManager pm = this.getServer().getPluginManager();
- pm.registerEvents(server, this);
- ess = new Essentials(server, getLogger(), new BukkitPlugin(this, server));
- if (VersionCheck.checkVersion(this))
- {
- try
- {
- ess.onEnable();
- }
- catch (RuntimeException ex)
- {
- if (pm.getPlugin("EssentialsUpdate") == null)
- {
- getLogger().log(Level.SEVERE, _("essentialsHelp1"));
- }
- else
- {
- getLogger().log(Level.SEVERE, _("essentialsHelp2"));
- }
- getLogger().log(Level.SEVERE, ex.toString());
- pm.registerEvents(new Listener()
- {
- @EventHandler(priority = EventPriority.LOW)
- public void onPlayerJoin(final PlayerJoinEvent event)
- {
- event.getPlayer().sendMessage("Essentials failed to load, read the log file.");
- }
- }, this);
- for (Player player : getServer().getOnlinePlayers())
- {
- player.sendMessage("Essentials failed to load, read the log file.");
- }
- this.setEnabled(false);
- }
- }
- else
- {
- this.setEnabled(false);
- }
- }
-
- @Override
- public void onDisable()
- {
- if (ess != null)
- {
- ess.onDisable();
- }
- }
-
- @Override
- public boolean onCommand(final org.bukkit.command.CommandSender sender, final Command command, final String label, final String[] args)
- {
- CommandSender commandSender;
- if (sender instanceof org.bukkit.entity.Player) {
- commandSender = ((BukkitServer)ess.getServer()).getPlayer((org.bukkit.entity.Player)sender);
- } else {
- commandSender = new BukkitCommandSender(sender);
- }
- return ess.getCommandHandler().handleCommand(commandSender, command, label, args);
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/Inventory.java b/Essentials/src/net/ess3/bukkit/Inventory.java
deleted file mode 100644
index 47e05f979..000000000
--- a/Essentials/src/net/ess3/bukkit/Inventory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package net.ess3.bukkit;
-
-import net.ess3.api.server.IInventory;
-import net.ess3.api.server.ItemStack;
-import java.util.Map;
-import lombok.Delegate;
-import org.bukkit.inventory.PlayerInventory;
-
-public class Inventory implements IInventory {
- @Delegate
- private org.bukkit.inventory.PlayerInventory inventory;
-
- Inventory(PlayerInventory inventory)
- {
- this.inventory = inventory;
- }
-
- @Override
- public boolean containsItem(boolean b, boolean b0, ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Map<Integer, ItemStack> addItem(boolean b, ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean addAllItems(boolean b, ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void removeItem(boolean b, boolean b0, ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Map<Integer, ItemStack> addItem(boolean b, int oversizedStacksize, ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Map<Integer, ItemStack> addItem(ItemStack itemStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials/src/net/ess3/bukkit/LivingEntities.java b/Essentials/src/net/ess3/bukkit/LivingEntities.java
new file mode 100644
index 000000000..96ca05ce5
--- /dev/null
+++ b/Essentials/src/net/ess3/bukkit/LivingEntities.java
@@ -0,0 +1,58 @@
+package net.ess3.bukkit;
+
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import static net.ess3.I18n._;
+import org.bukkit.Location;
+import org.bukkit.Server;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.LivingEntity;
+import org.bukkit.entity.Player;
+
+
+public class LivingEntities
+{
+ final private static Map<String, EntityType> entities = new HashMap<String, EntityType>();
+
+ final private static EnumMap<EntityType, String> entityI18n = new EnumMap<EntityType, String>(EntityType.class);
+ final private static EnumMap<EntityType, String> entityI18nPlural = new EnumMap<EntityType, String>(EntityType.class);
+
+ static
+ {
+ for (EntityType entityType : EntityType.values())
+ {
+ if (entityType.isAlive() && entityType.isSpawnable())
+ {
+ String entityName = entityType.name().toLowerCase(Locale.ENGLISH).replace("_", "");
+ entities.put(entityName, entityType);
+ entityI18n.put(entityType, entityName);
+ entityI18nPlural.put(entityType,entityName+"Plural");
+ }
+ }
+ }
+
+ public static Set<String> getLivingEntityList()
+ {
+ return Collections.unmodifiableSet(entities.keySet());
+ }
+
+ public static EntityType fromName(final String name)
+ {
+ return entities.get(name.toLowerCase(Locale.ENGLISH));
+ }
+
+ public static String getName(int count, EntityType type) {
+ return count == 1? _(entityI18n.get(type)):_(entityI18nPlural.get(type));
+ }
+
+ public static class MobException extends Exception
+ {
+ private static final long serialVersionUID = 1L;
+ }
+
+}
diff --git a/Essentials/src/net/ess3/bukkit/Mob.java b/Essentials/src/net/ess3/bukkit/Mob.java
deleted file mode 100644
index 0dd0bfab6..000000000
--- a/Essentials/src/net/ess3/bukkit/Mob.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package net.ess3.bukkit;
-
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import static net.ess3.I18n._;
-import org.bukkit.Location;
-import org.bukkit.Server;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.LivingEntity;
-import org.bukkit.entity.Player;
-
-
-public enum Mob
-{
- CHICKEN("Chicken", Enemies.FRIENDLY, EntityType.CHICKEN),
- COW("Cow", Enemies.FRIENDLY, EntityType.COW),
- CREEPER("Creeper", Enemies.ENEMY, EntityType.CREEPER),
- GHAST("Ghast", Enemies.ENEMY, EntityType.GHAST),
- GIANT("Giant", Enemies.ENEMY, EntityType.GIANT),
- PIG("Pig", Enemies.FRIENDLY, EntityType.PIG),
- PIGZOMB("PigZombie", Enemies.NEUTRAL, EntityType.PIG_ZOMBIE),
- SHEEP("Sheep", Enemies.FRIENDLY, "", EntityType.SHEEP),
- SKELETON("Skeleton", Enemies.ENEMY, EntityType.SKELETON),
- SLIME("Slime", Enemies.ENEMY, EntityType.SLIME),
- SPIDER("Spider", Enemies.ENEMY, EntityType.SPIDER),
- SQUID("Squid", Enemies.FRIENDLY, EntityType.SQUID),
- ZOMBIE("Zombie", Enemies.ENEMY, EntityType.ZOMBIE),
- WOLF("Wolf", Enemies.NEUTRAL, EntityType.WOLF),
- CAVESPIDER("CaveSpider", Enemies.ENEMY, EntityType.CAVE_SPIDER),
- ENDERMAN("Enderman", Enemies.ENEMY, "", EntityType.ENDERMAN),
- SILVERFISH("Silverfish", Enemies.ENEMY, "", EntityType.SILVERFISH),
- ENDERDRAGON("EnderDragon", Enemies.ENEMY, EntityType.ENDER_DRAGON),
- VILLAGER("Villager", Enemies.FRIENDLY, EntityType.VILLAGER),
- BLAZE("Blaze", Enemies.ENEMY, EntityType.BLAZE),
- MUSHROOMCOW("MushroomCow", Enemies.FRIENDLY, EntityType.MUSHROOM_COW),
- MAGMACUBE("MagmaCube", Enemies.ENEMY, EntityType.MAGMA_CUBE),
- SNOWMAN("Snowman", Enemies.FRIENDLY, "", EntityType.SNOWMAN),
- OCELOT("Ocelot", Enemies.NEUTRAL, EntityType.OCELOT),
- IRONGOLEM("IronGolem", Enemies.NEUTRAL, EntityType.IRON_GOLEM);
-
- public static final Logger logger = Logger.getLogger("Minecraft");
-
- private Mob(String n, Enemies en, String s, EntityType type)
- {
- this.suffix = s;
- this.name = n;
- this.type = en;
- this.bukkitType = type;
- }
-
- private Mob(String n, Enemies en, EntityType type)
- {
- this.name = n;
- this.type = en;
- this.bukkitType = type;
- }
- public String suffix = "s";
- final public String name;
- final public Enemies type;
- final private EntityType bukkitType;
- private static final Map<String, Mob> hashMap = new HashMap<String, Mob>();
-
- static
- {
- for (Mob mob : Mob.values())
- {
- hashMap.put(mob.name.toLowerCase(Locale.ENGLISH), mob);
- }
- }
-
- public static Set<String> getMobList() {
- return Collections.unmodifiableSet(hashMap.keySet());
- }
-
- public LivingEntity spawn(final Player player, final Server server, final Location loc) throws MobException
- {
- final LivingEntity entity = player.getWorld().spawn(loc, (Class<? extends LivingEntity>)this.bukkitType.getEntityClass());
- if (entity == null)
- {
- logger.log(Level.WARNING, _("unableToSpawnMob"));
- throw new MobException();
- }
- return entity;
- }
-
-
- public enum Enemies
- {
- FRIENDLY("friendly"),
- NEUTRAL("neutral"),
- ENEMY("enemy");
-
- private Enemies(final String type)
- {
- this.type = type;
- }
- final protected String type;
- }
-
- public EntityType getType()
- {
- return bukkitType;
- }
-
- public static Mob fromName(final String name)
- {
- return hashMap.get(name.toLowerCase(Locale.ENGLISH));
- }
-
-
- public static class MobException extends Exception
- {
- private static final long serialVersionUID = 1L;
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/PermissionFactory.java b/Essentials/src/net/ess3/bukkit/PermissionFactory.java
new file mode 100644
index 000000000..3d8c2da9b
--- /dev/null
+++ b/Essentials/src/net/ess3/bukkit/PermissionFactory.java
@@ -0,0 +1,51 @@
+package net.ess3.bukkit;
+
+import java.util.regex.Pattern;
+import org.bukkit.Bukkit;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
+import org.bukkit.plugin.PluginManager;
+
+
+public class PermissionFactory
+{
+ private static transient final Pattern DOT_PATTERN = Pattern.compile("\\.");
+
+ public static Permission registerPermission(String permission, PermissionDefault defaultPerm)
+ {
+ final PluginManager pluginManager = Bukkit.getServer().getPluginManager();
+ final String[] parts = DOT_PATTERN.split(permission);
+ final StringBuilder builder = new StringBuilder(permission.length());
+ Permission parent = null;
+ for (int i = 0; i < parts.length - 1; i++)
+ {
+ builder.append(parts[i]).append(".*");
+ String permString = builder.toString();
+ Permission perm = pluginManager.getPermission(permString);
+ if (perm == null)
+ {
+ perm = new Permission(permString, PermissionDefault.FALSE);
+ pluginManager.addPermission(perm);
+ if (parent != null)
+ {
+ parent.getChildren().put(perm.getName(), Boolean.TRUE);
+ }
+ parent = perm;
+ }
+ builder.deleteCharAt(builder.length() - 1);
+ }
+ Permission perm = pluginManager.getPermission(permission);
+ if (perm == null)
+ {
+ perm = new Permission(permission, defaultPerm);
+ pluginManager.addPermission(perm);
+ if (parent != null)
+ {
+ parent.getChildren().put(perm.getName(), Boolean.TRUE);
+ }
+ parent = perm;
+ }
+ perm.recalculatePermissibles();
+ return perm;
+ }
+}
diff --git a/Essentials/src/net/ess3/bukkit/VersionCheck.java b/Essentials/src/net/ess3/bukkit/VersionCheck.java
index 0413e15ba..10573a2d3 100644
--- a/Essentials/src/net/ess3/bukkit/VersionCheck.java
+++ b/Essentials/src/net/ess3/bukkit/VersionCheck.java
@@ -1,9 +1,9 @@
package net.ess3.bukkit;
-import static net.ess3.I18n._;
import java.util.logging.Level;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import static net.ess3.I18n._;
import org.bukkit.plugin.PluginManager;
diff --git a/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java b/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java
deleted file mode 100644
index 16397d373..000000000
--- a/Essentials/src/net/ess3/bukkit/events/BaseEventExecutor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package net.ess3.bukkit.events;
-
-import net.ess3.api.server.events.EventListener;
-import org.bukkit.event.Event;
-import org.bukkit.event.EventException;
-import org.bukkit.event.Listener;
-import org.bukkit.plugin.EventExecutor;
-
-
-public abstract class BaseEventExecutor implements EventExecutor
-{
- protected final EventListener listener;
-
- public BaseEventExecutor(final EventListener listener)
- {
- this.listener = listener;
- }
-
- @Override
- public abstract void execute(Listener ll, Event event) throws EventException;
-}
diff --git a/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java b/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java
deleted file mode 100644
index cc36c272d..000000000
--- a/Essentials/src/net/ess3/bukkit/events/BukkitEventFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.ess3.bukkit.events;
-
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.events.EventFactory;
-import net.ess3.api.server.events.EventListener;
-import net.ess3.api.server.events.EventPriority;
-import net.ess3.api.server.events.EventType;
-
-
-public class BukkitEventFactory implements EventFactory
-{
- private Plugin plugin;
-
- public BukkitEventFactory(Plugin plugin)
- {
- this.plugin = plugin;
- }
-
- @Override
- public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled)
- {
- BukkitListener bukkitListener = new BukkitListener(plugin);
- bukkitListener.register(listener, type, priority, ignoreCancelled);
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/events/BukkitListener.java b/Essentials/src/net/ess3/bukkit/events/BukkitListener.java
deleted file mode 100644
index 2bce6e31c..000000000
--- a/Essentials/src/net/ess3/bukkit/events/BukkitListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package net.ess3.bukkit.events;
-
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.events.EventListener;
-import net.ess3.api.server.events.EventPriority;
-import net.ess3.api.server.events.EventType;
-import net.ess3.bukkit.BukkitPlugin;
-import org.bukkit.event.Event;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockPlaceEvent;
-import org.bukkit.plugin.EventExecutor;
-
-
-public class BukkitListener implements Listener
-{
- private Plugin plugin;
-
- public BukkitListener(final Plugin plugin)
- {
- this.plugin = plugin;
- }
-
- public void register(EventListener listener, EventType type, EventPriority priority, boolean ignoreCancelled)
- {
- Class<? extends Event> event = getEventClass(type);
- org.bukkit.event.EventPriority bukkitPriority = getEventPriority(priority);
- EventExecutor executor = getEventExecutor(type, listener);
- ((BukkitPlugin)plugin).getBukkitServer().getPluginManager().registerEvent(event, this, bukkitPriority, executor, ((BukkitPlugin)plugin).getBukkitPlugin(), ignoreCancelled);
- }
-
- private static Class<? extends Event> getEventClass(final EventType type)
- {
- switch (type)
- {
- case PLACE_BLOCK:
- return BlockPlaceEvent.class;
- }
- throw new RuntimeException("Missing Event Class");
- }
-
- private static org.bukkit.event.EventPriority getEventPriority(final EventPriority priority)
- {
- switch (priority)
- {
- case LOWEST:
- return org.bukkit.event.EventPriority.LOWEST;
- case LOW:
- return org.bukkit.event.EventPriority.LOW;
- case NORMAL:
- return org.bukkit.event.EventPriority.NORMAL;
- case HIGH:
- return org.bukkit.event.EventPriority.HIGH;
- case HIGHEST:
- return org.bukkit.event.EventPriority.HIGHEST;
- case MONITOR:
- return org.bukkit.event.EventPriority.MONITOR;
- }
- throw new RuntimeException("Missing Event Priority");
- }
-
- private EventExecutor getEventExecutor(final EventType type, final EventListener listener)
- {
- switch (type)
- {
- case PLACE_BLOCK:
- return new PlaceBlockExecutor(listener, plugin.getServer());
- }
- throw new RuntimeException("Missing Event Executor");
- }
-}
diff --git a/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java b/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java
deleted file mode 100644
index 4216da9f3..000000000
--- a/Essentials/src/net/ess3/bukkit/events/PlaceBlockExecutor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package net.ess3.bukkit.events;
-
-import net.ess3.api.ondemand.UserOnDemand;
-import net.ess3.api.server.Block;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.events.EventListener;
-import net.ess3.bukkit.BukkitBlockFactory;
-import org.bukkit.event.Event;
-import org.bukkit.event.EventException;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockPlaceEvent;
-
-
-public class PlaceBlockExecutor extends BaseEventExecutor
-{
- private final Server server;
- public PlaceBlockExecutor(EventListener listener, Server server)
- {
- super(listener);
- this.server = server;
- }
-
- @Override
- public void execute(Listener ll, Event event) throws EventException
- {
- org.bukkit.block.Block bukkitBlock = ((BlockPlaceEvent)event).getBlockPlaced();
- Block block = BukkitBlockFactory.convert(bukkitBlock);
- String playername = ((BlockPlaceEvent)event).getPlayer().getName();
- boolean success = listener.onBlockPlace(block, new UserOnDemand(playername, server));
- ((BlockPlaceEvent)event).setCancelled(!success);
- }
-}
diff --git a/Essentials/src/net/ess3/commands/Commandafk.java b/Essentials/src/net/ess3/commands/Commandafk.java
index 1daa5b46c..3f15469cc 100644
--- a/Essentials/src/net/ess3/commands/Commandafk.java
+++ b/Essentials/src/net/ess3/commands/Commandafk.java
@@ -32,7 +32,7 @@ public class Commandafk extends EssentialsCommand
//user.sendMessage(_("markedAsNotAway"));
if (!user.isHidden())
{
- ess.broadcastMessage(user, _("userIsNotAway", user.getDisplayName()));
+ ess.broadcastMessage(user, _("userIsNotAway", user.getPlayer().getDisplayName()));
}
user.updateActivity(false);
}
@@ -41,7 +41,7 @@ public class Commandafk extends EssentialsCommand
//user.sendMessage(_("markedAsAway"));
if (!user.isHidden())
{
- ess.broadcastMessage(user, _("userIsAway", user.getDisplayName()));
+ ess.broadcastMessage(user, _("userIsAway", user.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandback.java b/Essentials/src/net/ess3/commands/Commandback.java
index 58537fa11..3fa5e6bbe 100644
--- a/Essentials/src/net/ess3/commands/Commandback.java
+++ b/Essentials/src/net/ess3/commands/Commandback.java
@@ -1,8 +1,8 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
+import net.ess3.economy.Trade;
public class Commandback extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandbackup.java b/Essentials/src/net/ess3/commands/Commandbackup.java
index 5cd9737ab..85f423c6f 100644
--- a/Essentials/src/net/ess3/commands/Commandbackup.java
+++ b/Essentials/src/net/ess3/commands/Commandbackup.java
@@ -2,7 +2,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IBackup;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class Commandbackup extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandbalance.java b/Essentials/src/net/ess3/commands/Commandbalance.java
index c5bdaab15..a7c89e63a 100644
--- a/Essentials/src/net/ess3/commands/Commandbalance.java
+++ b/Essentials/src/net/ess3/commands/Commandbalance.java
@@ -2,9 +2,10 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
public class Commandbalance extends EssentialsCommand
@@ -16,7 +17,7 @@ public class Commandbalance extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- sender.sendMessage(_("balance", Util.displayCurrency(ess.getUserMap().matchUser(args[0], true, true).getMoney(), ess)));
+ sender.sendMessage(_("balance", FormatUtil.displayCurrency(ess.getUserMap().matchUser(args[0], true, true).getMoney(), ess)));
}
@Override
@@ -26,6 +27,6 @@ public class Commandbalance extends EssentialsCommand
|| !Permissions.BALANCE_OTHERS.isAuthorized(user)
? user
: ess.getUserMap().matchUser(args[0], true, true)).getMoney();
- user.sendMessage(_("balance", Util.displayCurrency(bal, ess)));
+ user.sendMessage(_("balance", FormatUtil.displayCurrency(bal, ess)));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandbalancetop.java b/Essentials/src/net/ess3/commands/Commandbalancetop.java
index de952eb20..f085846c2 100644
--- a/Essentials/src/net/ess3/commands/Commandbalancetop.java
+++ b/Essentials/src/net/ess3/commands/Commandbalancetop.java
@@ -1,15 +1,16 @@
package net.ess3.commands;
-import static net.ess3.I18n._;
-import net.ess3.utils.Util;
-import net.ess3.api.IUser;
-import net.ess3.utils.textreader.ArrayListInput;
-import net.ess3.utils.textreader.TextPager;
import java.text.DateFormat;
import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import net.ess3.api.server.CommandSender;
+import static net.ess3.I18n._;
+import net.ess3.api.IUser;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
+import net.ess3.utils.textreader.ArrayListInput;
+import net.ess3.utils.textreader.TextPager;
+import org.bukkit.command.CommandSender;
public class Commandbalancetop extends EssentialsCommand
@@ -111,7 +112,7 @@ public class Commandbalancetop extends EssentialsCommand
final double userMoney = user.getMoney();
user.updateMoneyCache(userMoney);
totalMoney += userMoney;
- balances.put(user.getDisplayName(), userMoney);
+ balances.put(user.getPlayer().getDisplayName(), userMoney);
}
}
@@ -125,11 +126,11 @@ public class Commandbalancetop extends EssentialsCommand
}
});
- cache.getLines().add(_("serverTotal", Util.displayCurrency(totalMoney, ess)));
+ cache.getLines().add(_("serverTotal", FormatUtil.displayCurrency(totalMoney, ess)));
int pos = 1;
for (Map.Entry<String, Double> entry : sortedEntries)
{
- cache.getLines().add(pos + ". " + entry.getKey() + ", " + Util.displayCurrency(entry.getValue(), ess));
+ cache.getLines().add(pos + ". " + entry.getKey() + ", " + FormatUtil.displayCurrency(entry.getValue(), ess));
pos++;
}
cacheage = System.currentTimeMillis();
diff --git a/Essentials/src/net/ess3/commands/Commandban.java b/Essentials/src/net/ess3/commands/Commandban.java
index 85b7ffc1b..f244fecaa 100644
--- a/Essentials/src/net/ess3/commands/Commandban.java
+++ b/Essentials/src/net/ess3/commands/Commandban.java
@@ -1,13 +1,13 @@
package net.ess3.commands;
+import lombok.Cleanup;
import net.ess3.Console;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.Ban;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandban extends EssentialsCommand
@@ -55,13 +55,12 @@ public class Commandban extends EssentialsCommand
}
user.setBanned(true);
- user.kickPlayer(banReason);
- for (Player onlinePlayer : server.getOnlinePlayers())
+ user.getPlayer().kickPlayer(banReason);
+ for (Player player : server.getOnlinePlayers())
{
- final IUser player = onlinePlayer.getUser();
if (Permissions.BAN_NOTIFY.isAuthorized(player))
{
- onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason));
+ player.sendMessage(_("playerBanned", senderName, user.getName(), banReason));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandbanip.java b/Essentials/src/net/ess3/commands/Commandbanip.java
index 0b74e2c66..ff9eca5fe 100644
--- a/Essentials/src/net/ess3/commands/Commandbanip.java
+++ b/Essentials/src/net/ess3/commands/Commandbanip.java
@@ -1,9 +1,9 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class Commandbanip extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandbigtree.java b/Essentials/src/net/ess3/commands/Commandbigtree.java
index 981a81575..f02714438 100644
--- a/Essentials/src/net/ess3/commands/Commandbigtree.java
+++ b/Essentials/src/net/ess3/commands/Commandbigtree.java
@@ -2,9 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
import net.ess3.utils.LocationUtil;
-//TODO: remove bukkit
+import org.bukkit.Location;
import org.bukkit.TreeType;
@@ -31,9 +30,9 @@ public class Commandbigtree extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- final Location loc = LocationUtil.getTarget(user);
+ final Location loc = LocationUtil.getTarget(user.getPlayer());
final Location safeLocation = LocationUtil.getSafeDestination(loc);
- final boolean success = user.getWorld().generateTree(safeLocation, tree);
+ final boolean success = user.getPlayer().getWorld().generateTree(safeLocation, tree);
if (success)
{
user.sendMessage(_("bigTreeSuccess"));
diff --git a/Essentials/src/net/ess3/commands/Commandbreak.java b/Essentials/src/net/ess3/commands/Commandbreak.java
index 2ff282708..22b829e6c 100644
--- a/Essentials/src/net/ess3/commands/Commandbreak.java
+++ b/Essentials/src/net/ess3/commands/Commandbreak.java
@@ -2,8 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Material;
import net.ess3.permissions.Permissions;
+import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.block.BlockBreakEvent;
@@ -14,7 +14,7 @@ public class Commandbreak extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final Block block = user.getTargetBlock(null, 20);
+ final Block block = user.getPlayer().getTargetBlock(null, 20);
if (block == null)
{
throw new NoChargeException();
@@ -29,7 +29,7 @@ public class Commandbreak extends EssentialsCommand
}
//final List<ItemStack> list = (List<ItemStack>)block.getDrops();
//final BlockBreakEvent event = new BlockBreakEvent(block, user.getBase(), list);
- final BlockBreakEvent event = new BlockBreakEvent(block, user.getBase());
+ final BlockBreakEvent event = new BlockBreakEvent(block, user.getPlayer());
server.getPluginManager().callEvent(event);
if (event.isCancelled())
{
diff --git a/Essentials/src/net/ess3/commands/Commandbroadcast.java b/Essentials/src/net/ess3/commands/Commandbroadcast.java
index cba57f7c3..4f01c11bb 100644
--- a/Essentials/src/net/ess3/commands/Commandbroadcast.java
+++ b/Essentials/src/net/ess3/commands/Commandbroadcast.java
@@ -1,8 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
@@ -15,6 +16,6 @@ public class Commandbroadcast extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- ess.broadcastMessage(null, _("broadcast", Util.replaceFormat(getFinalArg(args, 0))));
+ ess.broadcastMessage(null, _("broadcast", FormatUtil.replaceFormat(getFinalArg(args, 0))));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandburn.java b/Essentials/src/net/ess3/commands/Commandburn.java
index d4fe4f5ec..512399739 100644
--- a/Essentials/src/net/ess3/commands/Commandburn.java
+++ b/Essentials/src/net/ess3/commands/Commandburn.java
@@ -1,8 +1,8 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import net.ess3.api.IUser;
+import org.bukkit.command.CommandSender;
public class Commandburn extends EssentialsCommand
@@ -15,10 +15,10 @@ public class Commandburn extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- for (Player p : ess.getUserMap().matchUsers(args[0], false, false))
+ for (IUser p : ess.getUserMap().matchUsers(args[0], false, false))
{
- p.setFireTicks(Integer.parseInt(args[1]) * 20);
- sender.sendMessage(_("burnMsg", p.getDisplayName(), Integer.parseInt(args[1])));
+ p.getPlayer().setFireTicks(Integer.parseInt(args[1]) * 20);
+ sender.sendMessage(_("burnMsg", p.getPlayer().getDisplayName(), Integer.parseInt(args[1])));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandclearinventory.java b/Essentials/src/net/ess3/commands/Commandclearinventory.java
index 3c91f38a9..f7740c96c 100644
--- a/Essentials/src/net/ess3/commands/Commandclearinventory.java
+++ b/Essentials/src/net/ess3/commands/Commandclearinventory.java
@@ -1,54 +1,34 @@
package net.ess3.commands;
+import java.util.List;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import net.ess3.permissions.Permissions;
-import java.util.List;
-import net.ess3.api.server.Player;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandclearinventory extends EssentialsCommand
{
- //TODO: Cleanup
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && Permissions.CLEARINVENTORY_OTHERS.isAuthorized(user))
{
- //TODO: Fix fringe user match case.
- if (args[0].length() >= 3)
+ IUser p = ess.getUserMap().matchUser(args[0], false, false);
+ if (p != null)
{
- List<Player> online = server.matchPlayer(args[0]);
-
- if (!online.isEmpty())
- {
- for (Player p : online)
- {
- p.getInventory().clear();
- user.sendMessage(_("inventoryClearedOthers", p.getDisplayName()));
- }
- return;
- }
- throw new Exception(_("playerNotFound"));
+ p.getPlayer().getInventory().clear();
+ user.sendMessage(_("inventoryClearedOthers", p.getPlayer().getDisplayName()));
}
else
{
- Player p = ess.getUserMap().matchUser(args[0], false, false);
- if (p != null)
- {
- p.getInventory().clear();
- user.sendMessage(_("inventoryClearedOthers", p.getDisplayName()));
- }
- else
- {
- throw new Exception(_("playerNotFound"));
- }
+ throw new Exception(_("playerNotFound"));
}
}
else
{
- user.getInventory().clear();
+ user.getPlayer().getInventory().clear();
user.sendMessage(_("inventoryCleared"));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandcompass.java b/Essentials/src/net/ess3/commands/Commandcompass.java
index 8554c4608..82e164d21 100644
--- a/Essentials/src/net/ess3/commands/Commandcompass.java
+++ b/Essentials/src/net/ess3/commands/Commandcompass.java
@@ -9,7 +9,7 @@ public class Commandcompass extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final int bearing = (int)(user.getLocation().getYaw() + 180 + 360) % 360;
+ final int bearing = (int)(user.getPlayer().getLocation().getYaw() + 180 + 360) % 360;
String dir;
if (bearing < 23)
{
diff --git a/Essentials/src/net/ess3/commands/Commanddelhome.java b/Essentials/src/net/ess3/commands/Commanddelhome.java
index fc3e220bc..7cb078537 100644
--- a/Essentials/src/net/ess3/commands/Commanddelhome.java
+++ b/Essentials/src/net/ess3/commands/Commanddelhome.java
@@ -1,12 +1,11 @@
package net.ess3.commands;
+import java.util.Locale;
+import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import java.util.Locale;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import org.bukkit.command.CommandSender;
public class Commanddelhome extends EssentialsCommand
@@ -20,7 +19,7 @@ public class Commanddelhome extends EssentialsCommand
}
@Cleanup
- IUser user = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null;
+ IUser user = sender instanceof IUser ? (IUser)sender : null;
String name;
String[] expandedArg;
diff --git a/Essentials/src/net/ess3/commands/Commanddeljail.java b/Essentials/src/net/ess3/commands/Commanddeljail.java
index bfbf9ebcb..4aa7c479e 100644
--- a/Essentials/src/net/ess3/commands/Commanddeljail.java
+++ b/Essentials/src/net/ess3/commands/Commanddeljail.java
@@ -1,7 +1,7 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import static net.ess3.I18n._;
+import org.bukkit.command.CommandSender;
public class Commanddeljail extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commanddelwarp.java b/Essentials/src/net/ess3/commands/Commanddelwarp.java
index 30a8d12a4..e6a465ccd 100644
--- a/Essentials/src/net/ess3/commands/Commanddelwarp.java
+++ b/Essentials/src/net/ess3/commands/Commanddelwarp.java
@@ -1,7 +1,7 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import static net.ess3.I18n._;
+import org.bukkit.command.CommandSender;
public class Commanddelwarp extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commanddepth.java b/Essentials/src/net/ess3/commands/Commanddepth.java
index 31f621767..681455b90 100644
--- a/Essentials/src/net/ess3/commands/Commanddepth.java
+++ b/Essentials/src/net/ess3/commands/Commanddepth.java
@@ -9,7 +9,7 @@ public class Commanddepth extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final int depth = user.getLocation().getBlockY() - 63;
+ final int depth = user.getPlayer().getLocation().getBlockY() - 63;
if (depth > 0)
{
user.sendMessage(_("depthAboveSea", depth));
diff --git a/Essentials/src/net/ess3/commands/Commandeco.java b/Essentials/src/net/ess3/commands/Commandeco.java
index b82ac04e7..4b73517f2 100644
--- a/Essentials/src/net/ess3/commands/Commandeco.java
+++ b/Essentials/src/net/ess3/commands/Commandeco.java
@@ -1,13 +1,12 @@
package net.ess3.commands;
-import net.ess3.api.ISettings;
-import net.ess3.api.IUser;
-import static net.ess3.I18n._;
-
import java.util.Locale;
import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import static net.ess3.I18n._;
+import net.ess3.api.ISettings;
+import net.ess3.api.IUser;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandeco extends EssentialsCommand
@@ -62,7 +61,7 @@ public class Commandeco extends EssentialsCommand
{
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser player = onlinePlayer.getUser();
+ final IUser player = ess.getUserMap().getUser(onlinePlayer);
switch (cmd)
{
case GIVE:
diff --git a/Essentials/src/net/ess3/commands/Commandenchant.java b/Essentials/src/net/ess3/commands/Commandenchant.java
index c84acdb66..138682c84 100644
--- a/Essentials/src/net/ess3/commands/Commandenchant.java
+++ b/Essentials/src/net/ess3/commands/Commandenchant.java
@@ -1,21 +1,16 @@
package net.ess3.commands;
-import net.ess3.bukkit.Enchantments;
-import static net.ess3.I18n._;
-import net.ess3.utils.Util;
-import net.ess3.api.IUser;
-import net.ess3.permissions.EnchantPermissions;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
import net.ess3.bukkit.Enchantments;
import net.ess3.permissions.EnchantPermissions;
import net.ess3.utils.Util;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.ItemStack;
public class Commandenchant extends EssentialsCommand
@@ -24,7 +19,7 @@ public class Commandenchant extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final ItemStack stack = user.getItemInHand();
+ final ItemStack stack = user.getPlayer().getItemInHand();
if (stack == null)
{
throw new Exception(_("nothingInHand"));
@@ -68,8 +63,8 @@ public class Commandenchant extends EssentialsCommand
{
stack.addEnchantment(enchantment, level);
}
- user.getInventory().setxItemInHand(stack);
- user.updateInventory();
+ user.getPlayer().getInventory().setItemInHand(stack);
+ user.getPlayer().updateInventory();
final String enchantmentName = enchantment.getName().toLowerCase(Locale.ENGLISH);
if (level == 0)
{
diff --git a/Essentials/src/net/ess3/commands/Commandenderchest.java b/Essentials/src/net/ess3/commands/Commandenderchest.java
new file mode 100644
index 000000000..54214f812
--- /dev/null
+++ b/Essentials/src/net/ess3/commands/Commandenderchest.java
@@ -0,0 +1,26 @@
+package net.ess3.commands;
+
+import net.ess3.api.IUser;
+import net.ess3.permissions.Permissions;
+
+
+public class Commandenderchest extends EssentialsCommand
+{
+
+ @Override
+ protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
+ {
+ if (args.length > 0 && Permissions.ENDERCHEST_OTHERS.isAuthorized(user))
+ {
+ final IUser invUser = ess.getUserMap().matchUser(args[0], false, false);
+ user.getPlayer().openInventory(invUser.getPlayer().getEnderChest());
+ user.setEnderSee(true);
+ }
+ else
+ {
+ user.getPlayer().openInventory(user.getPlayer().getEnderChest());
+ user.setEnderSee(false);
+ }
+
+ }
+}
diff --git a/Essentials/src/net/ess3/commands/Commandessentials.java b/Essentials/src/net/ess3/commands/Commandessentials.java
index ac62cef7a..0d2311c45 100644
--- a/Essentials/src/net/ess3/commands/Commandessentials.java
+++ b/Essentials/src/net/ess3/commands/Commandessentials.java
@@ -1,22 +1,14 @@
package net.ess3.commands;
-import static net.ess3.I18n._;
-
-import net.ess3.api.server.Player;
-import java.util.HashMap;
import java.util.Map;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Material;
-//TODO: remove bukkit
-import org.bukkit.block.Block;
+import static net.ess3.I18n._;
+import org.bukkit.command.CommandSender;
public class Commandessentials extends EssentialsCommand
{
private transient int taskid;
- private final transient Map<Player, Block> noteBlocks = new HashMap<Player, Block>();
-
+
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
@@ -28,14 +20,6 @@ public class Commandessentials extends EssentialsCommand
{
run_debug(sender, args);
}
- else if (args[0].equalsIgnoreCase("nya"))
- {
- run_nya(sender, args);
- }
- else if (args[0].equalsIgnoreCase("moo"))
- {
- run_moo(sender, args);
- }
else
{
run_reload(sender, args);
@@ -70,103 +54,4 @@ public class Commandessentials extends EssentialsCommand
ess.reload();
sender.sendMessage(_("essentialsReload", ess.getPlugin().getVersion()));
}
-
- private void run_nya(final CommandSender sender, final String[] args) throws Exception
- {
- final Map<String, Byte> noteMap = new HashMap<String, Byte>();
- noteMap.put("1F#", (byte)0x0);
- noteMap.put("1G", (byte)0x1);
- noteMap.put("1G#", (byte)0x2);
- noteMap.put("1A", (byte)0x3);
- noteMap.put("1A#", (byte)0x4);
- noteMap.put("1B", (byte)0x5);
- noteMap.put("1C", (byte)0x6);
- noteMap.put("1C#", (byte)0x7);
- noteMap.put("1D", (byte)0x8);
- noteMap.put("1D#", (byte)0x9);
- noteMap.put("1E", (byte)0xA);
- noteMap.put("1F", (byte)0xB);
- noteMap.put("2F#", (byte)(0x0 + 0xC));
- noteMap.put("2G", (byte)(0x1 + 0xC));
- noteMap.put("2G#", (byte)(0x2 + 0xC));
- noteMap.put("2A", (byte)(0x3 + 0xC));
- noteMap.put("2A#", (byte)(0x4 + 0xC));
- noteMap.put("2B", (byte)(0x5 + 0xC));
- noteMap.put("2C", (byte)(0x6 + 0xC));
- noteMap.put("2C#", (byte)(0x7 + 0xC));
- noteMap.put("2D", (byte)(0x8 + 0xC));
- noteMap.put("2D#", (byte)(0x9 + 0xC));
- noteMap.put("2E", (byte)(0xA + 0xC));
- noteMap.put("2F", (byte)(0xB + 0xC));
- if (!noteBlocks.isEmpty())
- {
- return;
- }
- final String tuneStr = "1D#,1E,2F#,,2A#,1E,1D#,1E,2F#,2B,2D#,2E,2D#,2A#,2B,,2F#,,1D#,1E,2F#,2B,2C#,2A#,2B,2C#,2E,2D#,2E,2C#,,2F#,,2G#,,1D,1D#,,1C#,1D,1C#,1B,,1B,,1C#,,1D,,1D,1C#,1B,1C#,1D#,2F#,2G#,1D#,2F#,1C#,1D#,1B,1C#,1B,1D#,,2F#,,2G#,1D#,2F#,1C#,1D#,1B,1D,1D#,1D,1C#,1B,1C#,1D,,1B,1C#,1D#,2F#,1C#,1D,1C#,1B,1C#,,1B,,1C#,,2F#,,2G#,,1D,1D#,,1C#,1D,1C#,1B,,1B,,1C#,,1D,,1D,1C#,1B,1C#,1D#,2F#,2G#,1D#,2F#,1C#,1D#,1B,1C#,1B,1D#,,2F#,,2G#,1D#,2F#,1C#,1D#,1B,1D,1D#,1D,1C#,1B,1C#,1D,,1B,1C#,1D#,2F#,1C#,1D,1C#,1B,1C#,,1B,,1B,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1A#,,1B,,1F#,1G#,1B,,1F#,1G#,1B,1C#,1D#,1B,1E,1D#,1E,2F#,1B,,1B,,1F#,1G#,1B,1F#,1E,1D#,1C#,1B,,,,1F#,1B,,1F#,1G#,1B,,1F#,1G#,1B,1B,1C#,1D#,1B,1F#,1G#,1F#,1B,,1B,1A#,1B,1F#,1G#,1B,1E,1D#,1E,2F#,1B,,1B,,";
- final String[] tune = tuneStr.split(",");
- for (Player player : server.getOnlinePlayers())
- {
- final Location loc = player.getLocation();
- loc.add(0, 3, 0);
- while (loc.getBlockY() < player.getLocation().getBlockY() + 10 && loc.getBlock().getTypeId() != 0)
- {
- loc.add(0, 1, 0);
- }
- if (loc.getBlock().getTypeId() == 0)
- {
- noteBlocks.put(player, loc.getBlock());
- player.sendBlockChange(loc, Material.NOTE_BLOCK, (byte)0);
- }
- }
- taskid = ess.getPlugin().scheduleSyncRepeatingTask(new Runnable()
- {
- int i = 0;
-
- @Override
- public void run()
- {
- final String note = tune[i];
- i++;
- if (i >= tune.length)
- {
- Commandessentials.this.stopTune();
- }
- if (note.isEmpty())
- {
- return;
- }
- Map<Player, Block> noteBlocks = Commandessentials.this.noteBlocks;
- for (Player onlinePlayer : server.getOnlinePlayers())
- {
- final Block block = noteBlocks.get(onlinePlayer);
- if (block == null || block.getType() != Material.NOTE_BLOCK)
- {
- continue;
- }
- onlinePlayer.playNote(block.getLocation(), (byte)0, noteMap.get(note));
- }
- }
- }, 20, 2);
- }
-
- private void stopTune()
- {
- ess.getPlugin().cancelTask(taskid);
- for (Block block : noteBlocks.values())
- {
- if (block.getType() == Material.NOTE_BLOCK)
- {
- block.setType(Material.AIR);
- }
- }
- noteBlocks.clear();
- }
-
- private void run_moo(final CommandSender sender, final String args[])
- {
- if(sender == ess.getServer().getConsoleSender())
- sender.sendMessage(new String[]{" (__)", " (oo)", " /------\\/", " / | ||", " * /\\---/\\", " ~~ ~~", "....\"Have you mooed today?\"..." } );
- else
- sender.sendMessage(new String[]{" (__)", " (oo)", " /------\\/", " / | | |", " * /\\---/\\", " ~~ ~~", "....\"Have you mooed today?\"..." } );
- }
}
diff --git a/Essentials/src/net/ess3/commands/Commandexp.java b/Essentials/src/net/ess3/commands/Commandexp.java
index 0150126b7..072434550 100644
--- a/Essentials/src/net/ess3/commands/Commandexp.java
+++ b/Essentials/src/net/ess3/commands/Commandexp.java
@@ -2,11 +2,10 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.craftbukkit.SetExpFix;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
public class Commandexp extends EssentialsCommand
@@ -115,9 +114,9 @@ public class Commandexp extends EssentialsCommand
private void showExp(final CommandSender sender, final IUser target)
{
- final int totalExp = SetExpFix.getTotalExperience(target);
- final int expLeft = (int)Util.roundDouble(((((3.5 * target.getLevel()) + 6.7) - (totalExp - ((1.75 * (target.getLevel() * target.getLevel())) + (5.00 * target.getLevel())))) + 1));
- sender.sendMessage(_("exp", target.getDisplayName(), SetExpFix.getTotalExperience(target), target.getLevel(), expLeft));
+ final int totalExp = SetExpFix.getTotalExperience(target.getPlayer());
+ final int expLeft = (int)Util.roundDouble(((((3.5 * target.getPlayer().getLevel()) + 6.7) - (totalExp - ((1.75 * (target.getPlayer().getLevel() * target.getPlayer().getLevel())) + (5.00 * target.getPlayer().getLevel())))) + 1));
+ sender.sendMessage(_("exp", target.getPlayer().getDisplayName(), SetExpFix.getTotalExperience(target.getPlayer()), target.getPlayer().getLevel(), expLeft));
}
private void setExp(final CommandSender sender, final IUser target, final String strAmount, final boolean give)
@@ -125,13 +124,13 @@ public class Commandexp extends EssentialsCommand
Long amount = Long.parseLong(strAmount);
if (give)
{
- amount += SetExpFix.getTotalExperience(target);
+ amount += SetExpFix.getTotalExperience(target.getPlayer());
}
if (amount > Integer.MAX_VALUE)
{
amount = (long)Integer.MAX_VALUE;
}
- SetExpFix.setTotalExperience(target, amount.intValue());
- sender.sendMessage(_("expSet", target.getDisplayName(), amount));
+ SetExpFix.setTotalExperience(target.getPlayer(), amount.intValue());
+ sender.sendMessage(_("expSet", target.getPlayer().getDisplayName(), amount));
}
} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/commands/Commandext.java b/Essentials/src/net/ess3/commands/Commandext.java
index 61d5cc317..7fc130416 100644
--- a/Essentials/src/net/ess3/commands/Commandext.java
+++ b/Essentials/src/net/ess3/commands/Commandext.java
@@ -2,8 +2,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import org.bukkit.command.CommandSender;
public class Commandext extends EssentialsCommand
@@ -24,7 +23,7 @@ public class Commandext extends EssentialsCommand
{
if (args.length < 1)
{
- user.setFireTicks(0);
+ user.getPlayer().setFireTicks(0);
user.sendMessage(_("extinguish"));
return;
}
@@ -34,10 +33,10 @@ public class Commandext extends EssentialsCommand
private void extinguishPlayers(final CommandSender sender, final String name) throws Exception
{
- for (Player matchPlayer : ess.getUserMap().matchUsers(name, false, false))
+ for (IUser matchPlayer : ess.getUserMap().matchUsers(name, false, false))
{
- matchPlayer.setFireTicks(0);
- sender.sendMessage(_("extinguishOthers", matchPlayer.getDisplayName()));
+ matchPlayer.getPlayer().setFireTicks(0);
+ sender.sendMessage(_("extinguishOthers", matchPlayer.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfeed.java b/Essentials/src/net/ess3/commands/Commandfeed.java
index 0f8867ae4..d58f14fa3 100644
--- a/Essentials/src/net/ess3/commands/Commandfeed.java
+++ b/Essentials/src/net/ess3/commands/Commandfeed.java
@@ -1,12 +1,10 @@
package net.ess3.commands;
-import java.util.List;
import java.util.Set;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import org.bukkit.command.CommandSender;
public class Commandfeed extends EssentialsCommand
@@ -20,8 +18,8 @@ public class Commandfeed extends EssentialsCommand
}
else
{
- user.setFoodLevel(20);
- user.setSaturation(10);
+ user.getPlayer().setFoodLevel(20);
+ user.getPlayer().setSaturation(10);
user.sendMessage(_("feed"));
}
}
@@ -34,11 +32,11 @@ public class Commandfeed extends EssentialsCommand
sender.sendMessage(_("playerNotFound"));
return;
}
- for (Player player : users)
+ for (IUser player : users)
{
- player.setFoodLevel(20);
- player.setSaturation(10);
- sender.sendMessage(_("feedOther", player.getDisplayName()));
+ player.getPlayer().setFoodLevel(20);
+ player.getPlayer().setSaturation(10);
+ sender.sendMessage(_("feedOther", player.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfireball.java b/Essentials/src/net/ess3/commands/Commandfireball.java
index 8f4c0a536..c6a7c24a9 100644
--- a/Essentials/src/net/ess3/commands/Commandfireball.java
+++ b/Essentials/src/net/ess3/commands/Commandfireball.java
@@ -1,7 +1,6 @@
package net.ess3.commands;
import net.ess3.api.IUser;
-//TODO: remove bukkit
import org.bukkit.entity.Fireball;
import org.bukkit.entity.SmallFireball;
import org.bukkit.util.Vector;
@@ -17,8 +16,8 @@ public class Commandfireball extends EssentialsCommand
{
small = true;
}
- final Vector direction = user.getEyeLocation().getDirection().multiply(2);
- final Fireball fireball = user.getWorld().spawn(user.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
- fireball.setShooter(user.getBase());
+ final Vector direction = user.getPlayer().getEyeLocation().getDirection().multiply(2);
+ final Fireball fireball = user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class);
+ fireball.setShooter(user.getPlayer());
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandfly.java b/Essentials/src/net/ess3/commands/Commandfly.java
index 82f5023fc..881fecc30 100644
--- a/Essentials/src/net/ess3/commands/Commandfly.java
+++ b/Essentials/src/net/ess3/commands/Commandfly.java
@@ -2,10 +2,9 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Server;
import net.ess3.permissions.Permissions;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
@@ -31,39 +30,39 @@ public class Commandfly extends EssentialsCommand
flyOtherPlayers(server, user, args);
return;
}
- user.setAllowFlight(!user.getAllowFlight());
- if (!user.getAllowFlight())
+ user.getPlayer().setAllowFlight(!user.getPlayer().getAllowFlight());
+ if (!user.getPlayer().getAllowFlight())
{
- user.setFlying(false);
+ user.getPlayer().setFlying(false);
}
- user.sendMessage(_("flyMode", _(user.getAllowFlight() ? "enabled" : "disabled"), user.getDisplayName()));
+ user.sendMessage(_("flyMode", _(user.getPlayer().getAllowFlight() ? "enabled" : "disabled"), user.getPlayer().getDisplayName()));
}
private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args)
{
- for (Player matchPlayer : ess.getUserMap().matchUsers(args[0],false,false))
+ for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0],false,false))
{
if (args.length > 1)
{
if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1"))
{
- matchPlayer.setAllowFlight(true);
+ matchPlayer.getPlayer().setAllowFlight(true);
}
else
{
- matchPlayer.setAllowFlight(false);
+ matchPlayer.getPlayer().setAllowFlight(false);
}
}
else
{
- matchPlayer.setAllowFlight(!matchPlayer.getAllowFlight());
+ matchPlayer.getPlayer().setAllowFlight(!matchPlayer.getPlayer().getAllowFlight());
}
- if (!matchPlayer.getAllowFlight())
+ if (!matchPlayer.getPlayer().getAllowFlight())
{
- matchPlayer.setFlying(false);
+ matchPlayer.getPlayer().setFlying(false);
}
- sender.sendMessage(_("flyMode", _(matchPlayer.getAllowFlight() ? "enabled" : "disabled"), matchPlayer.getDisplayName()));
+ sender.sendMessage(_("flyMode", _(matchPlayer.getPlayer().getAllowFlight() ? "enabled" : "disabled"), matchPlayer.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandgamemode.java b/Essentials/src/net/ess3/commands/Commandgamemode.java
index 2e0705303..eb74b6c33 100644
--- a/Essentials/src/net/ess3/commands/Commandgamemode.java
+++ b/Essentials/src/net/ess3/commands/Commandgamemode.java
@@ -3,10 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
-// TODO: net.ess3 gamemode
+import org.bukkit.GameMode;
+import org.bukkit.command.CommandSender;
public class Commandgamemode extends EssentialsCommand
@@ -31,30 +30,30 @@ public class Commandgamemode extends EssentialsCommand
return;
}
- user.setGameMode(user.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
- user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName()));
+ user.getPlayer().setGameMode(user.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
+ user.sendMessage(_("gameMode", _(user.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getPlayer().getDisplayName()));
}
private void gamemodeOtherPlayers(final CommandSender sender, final String args[])
{
- for (Player player : ess.getUserMap().matchUsers(args[0], false, false))
+ for (IUser player : ess.getUserMap().matchUsers(args[0], false, false))
{
if (args.length > 1)
{
if (args[1].contains("creat") || args[1].equalsIgnoreCase("1"))
{
- player.setGameMode(GameMode.CREATIVE);
+ player.getPlayer().setGameMode(GameMode.CREATIVE);
}
else
{
- player.setGameMode(GameMode.SURVIVAL);
+ player.getPlayer().setGameMode(GameMode.SURVIVAL);
}
}
else
{
- player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
+ player.getPlayer().setGameMode(player.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
}
- sender.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName()));
+ sender.sendMessage(_("gameMode", _(player.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandgc.java b/Essentials/src/net/ess3/commands/Commandgc.java
index 9eb45af65..6f7a0b78b 100644
--- a/Essentials/src/net/ess3/commands/Commandgc.java
+++ b/Essentials/src/net/ess3/commands/Commandgc.java
@@ -1,10 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-//TODO - Remove bukkit refs
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.World;
import org.bukkit.ChatColor;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
diff --git a/Essentials/src/net/ess3/commands/Commandgetpos.java b/Essentials/src/net/ess3/commands/Commandgetpos.java
index 5c0273742..7b2dd2e68 100644
--- a/Essentials/src/net/ess3/commands/Commandgetpos.java
+++ b/Essentials/src/net/ess3/commands/Commandgetpos.java
@@ -1,9 +1,9 @@
package net.ess3.commands;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Location;
import net.ess3.permissions.Permissions;
+import org.bukkit.Location;
+import org.bukkit.command.CommandSender;
@@ -18,12 +18,12 @@ public class Commandgetpos extends EssentialsCommand
final IUser otherUser = ess.getUserMap().matchUser(args[0], false, false);
if (!otherUser.isHidden() || Permissions.LIST_HIDDEN.isAuthorized(user))
{
- outputPosition(user, otherUser.getLocation(), user.getLocation());
+ outputPosition(user, otherUser.getPlayer().getLocation(), user.getPlayer().getLocation());
return;
}
}
- outputPosition(user, user.getLocation(), null);
+ outputPosition(user, user.getPlayer().getLocation(), null);
}
@Override
@@ -34,7 +34,7 @@ public class Commandgetpos extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final IUser user = ess.getUserMap().matchUser(args[0], false, false);
- outputPosition(sender, user.getLocation(), null);
+ outputPosition(sender, user.getPlayer().getLocation(), null);
}
//TODO: Translate
diff --git a/Essentials/src/net/ess3/commands/Commandgive.java b/Essentials/src/net/ess3/commands/Commandgive.java
index 6cbc178f3..db58eba4f 100644
--- a/Essentials/src/net/ess3/commands/Commandgive.java
+++ b/Essentials/src/net/ess3/commands/Commandgive.java
@@ -3,15 +3,12 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
-import net.ess3.api.server.Player;
import net.ess3.permissions.GivePermissions;
import net.ess3.utils.Util;
-//TODO: remove bukkit imports
import org.bukkit.ChatColor;
+import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.ItemStack;
public class Commandgive extends EssentialsCommand
@@ -23,8 +20,8 @@ public class Commandgive extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
-
- final IUser giveTo = getPlayer(args, 0);
+
+ final IUser giveTo = ess.getUserMap().matchUser(args[0], false, false);
final ItemStack stack = ess.getItemDb().get(args[1], giveTo);
@@ -35,14 +32,14 @@ public class Commandgive extends EssentialsCommand
}
if (args.length > 3 && Util.isInt(args[2]) && Util.isInt(args[3]))
- {
+ {
stack.setAmount(Integer.parseInt(args[2]));
stack.setDurability(Short.parseShort(args[3]));
}
else if (args.length > 2 && Integer.parseInt(args[2]) > 0)
{
stack.setAmount(Integer.parseInt(args[2]));
- }
+ }
if (args.length > 3)
{
@@ -53,7 +50,7 @@ public class Commandgive extends EssentialsCommand
{
continue;
}
- final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : null);
+ final Enchantment enchantment = Commandenchant.getEnchantment(split[0], sender instanceof IUser ? (IUser)sender : null);
int level;
if (split.length > 1)
{
@@ -67,16 +64,16 @@ public class Commandgive extends EssentialsCommand
}
}
- if (stack.getType() == Material.AIR)
+ if (stack.getTypeId() == 0)
{
throw new Exception(_("cantSpawnItem", "Air"));
}
-
+
giveTo.giveItems(stack, false);
//TODO: TL this.
final String itemName = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' ');
- sender.sendMessage(ChatColor.BLUE + "Giving " + stack.getAmount() + " of " + itemName + " to " + giveTo.getDisplayName() + ".");
-
+ sender.sendMessage(ChatColor.BLUE + "Giving " + stack.getAmount() + " of " + itemName + " to " + giveTo.getPlayer().getDisplayName() + ".");
+
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandgod.java b/Essentials/src/net/ess3/commands/Commandgod.java
index 0f74689d3..11daf7321 100644
--- a/Essentials/src/net/ess3/commands/Commandgod.java
+++ b/Essentials/src/net/ess3/commands/Commandgod.java
@@ -2,9 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import org.bukkit.command.CommandSender;
@@ -36,9 +35,8 @@ public class Commandgod extends EssentialsCommand
private void godOtherPlayers(final CommandSender sender, final String[] args)
{
- for (Player matchPlayer : server.matchPlayer(args[0]))
+ for (IUser player : ess.getUserMap().matchUsers(args[0], false, true))
{
- final IUser player = ess.getUserMap().getUser(matchPlayer);
if (player.isHidden())
{
continue;
@@ -62,7 +60,7 @@ public class Commandgod extends EssentialsCommand
final boolean enabled = player.isGodModeEnabled();
player.sendMessage(_("godMode", (enabled ? _("enabled") : _("disabled"))));
- sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", matchPlayer.getDisplayName())));
+ sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", player.getName())));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandhat.java b/Essentials/src/net/ess3/commands/Commandhat.java
index 68aeb92f4..d4534f55a 100644
--- a/Essentials/src/net/ess3/commands/Commandhat.java
+++ b/Essentials/src/net/ess3/commands/Commandhat.java
@@ -2,11 +2,10 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
import net.ess3.craftbukkit.InventoryWorkaround;
-//TODO: not sure if this is correct
-import net.ess3.api.server.IInventory;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.PlayerInventory;
@@ -17,7 +16,7 @@ public class Commandhat extends EssentialsCommand
{
if (args.length > 0 && (args[0].contains("rem") || args[0].contains("off") || args[0].equalsIgnoreCase("0")))
{
- final PlayerInventory inv = user.getInventory();
+ final PlayerInventory inv = user.getPlayer().getInventory();
final ItemStack head = inv.getHelmet();
if (head == null || head.getType() == Material.AIR)
{
@@ -27,18 +26,18 @@ public class Commandhat extends EssentialsCommand
{
final ItemStack air = new ItemStack(Material.AIR);
inv.setHelmet(air);
- InventoryWorkaround.addItem(user.getInventory(), true, head);
+ InventoryWorkaround.addItem(user.getPlayer().getInventory(), true, head);
user.sendMessage(_("hatRemoved"));
}
}
else
{
- if (user.getItemInHand().getType() != Material.AIR)
+ if (user.getPlayer().getItemInHand().getType() != Material.AIR)
{
- final ItemStack hand = user.getItemInHand();
+ final ItemStack hand = user.getPlayer().getItemInHand();
if (hand.getType().getMaxDurability() == 0)
{
- final PlayerInventory inv = user.getInventory();
+ final PlayerInventory inv = user.getPlayer().getInventory();
final ItemStack head = inv.getHelmet();
inv.removeItem(hand);
inv.setHelmet(hand);
diff --git a/Essentials/src/net/ess3/commands/Commandheal.java b/Essentials/src/net/ess3/commands/Commandheal.java
index 946583a19..5159da699 100644
--- a/Essentials/src/net/ess3/commands/Commandheal.java
+++ b/Essentials/src/net/ess3/commands/Commandheal.java
@@ -1,13 +1,11 @@
package net.ess3.commands;
-import java.util.List;
import java.util.Set;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
+import org.bukkit.command.CommandSender;
public class Commandheal extends EssentialsCommand
@@ -26,9 +24,9 @@ public class Commandheal extends EssentialsCommand
user.checkCooldown(TimestampType.LASTHEAL, ess.getRanks().getHealCooldown(user), true, Permissions.HEAL_COOLDOWN_BYPASS);
- user.setHealth(20);
- user.setFireTicks(0);
- user.setFoodLevel(20);
+ user.getPlayer().setHealth(20);
+ user.getPlayer().setFireTicks(0);
+ user.getPlayer().setFoodLevel(20);
user.sendMessage(_("heal"));
}
@@ -51,12 +49,12 @@ public class Commandheal extends EssentialsCommand
sender.sendMessage(_("playerNotFound"));
return;
}
- for (Player p : users)
+ for (IUser p : users)
{
- p.setHealth(20);
- p.setFoodLevel(20);
- p.sendMessage(_("heal"));
- sender.sendMessage(_("healOther", p.getDisplayName()));
+ p.getPlayer().setHealth(20);
+ p.getPlayer().setFoodLevel(20);
+ p.getPlayer().sendMessage(_("heal"));
+ sender.sendMessage(_("healOther", p.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandhelp.java b/Essentials/src/net/ess3/commands/Commandhelp.java
index ecd9e0ca0..dd3cb96fe 100644
--- a/Essentials/src/net/ess3/commands/Commandhelp.java
+++ b/Essentials/src/net/ess3/commands/Commandhelp.java
@@ -3,9 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.Util;
import net.ess3.utils.textreader.*;
+import org.bukkit.command.CommandSender;
diff --git a/Essentials/src/net/ess3/commands/Commandhelpop.java b/Essentials/src/net/ess3/commands/Commandhelpop.java
index 5ca9a5386..d3bb267fb 100644
--- a/Essentials/src/net/ess3/commands/Commandhelpop.java
+++ b/Essentials/src/net/ess3/commands/Commandhelpop.java
@@ -3,9 +3,10 @@ package net.ess3.commands;
import java.util.logging.Level;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.entity.Player;
public class Commandhelpop extends EssentialsCommand
@@ -18,11 +19,10 @@ public class Commandhelpop extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
user.setDisplayNick();
- final String message = _("helpOp", user.getDisplayName(), Util.stripFormat(getFinalArg(args, 0)));
+ final String message = _("helpOp", user.getPlayer().getDisplayName(), FormatUtil.stripFormat(getFinalArg(args, 0)));
logger.log(Level.INFO, message);
- for (Player onlinePlayer : server.getOnlinePlayers())
+ for (Player player : server.getOnlinePlayers())
{
- final IUser player = onlinePlayer.getUser();
if (!Permissions.HELPOP_RECEIVE.isAuthorized(player))
{
continue;
diff --git a/Essentials/src/net/ess3/commands/Commandhome.java b/Essentials/src/net/ess3/commands/Commandhome.java
index afcac8979..d36fe75a7 100644
--- a/Essentials/src/net/ess3/commands/Commandhome.java
+++ b/Essentials/src/net/ess3/commands/Commandhome.java
@@ -4,13 +4,12 @@ import java.util.List;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Material;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.WorldPermissions;
import net.ess3.utils.Util;
-//TODO: remove this
+import org.bukkit.Location;
+import org.bukkit.Material;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -98,7 +97,7 @@ public class Commandhome extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- if (user.getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
+ if (user.getPlayer().getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
&& !WorldPermissions.getPermission(loc.getWorld().getName()).isAuthorized(user))
{
throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName()));
diff --git a/Essentials/src/net/ess3/commands/Commandignore.java b/Essentials/src/net/ess3/commands/Commandignore.java
index d421e62f2..14dae478a 100644
--- a/Essentials/src/net/ess3/commands/Commandignore.java
+++ b/Essentials/src/net/ess3/commands/Commandignore.java
@@ -13,19 +13,7 @@ public class Commandignore extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- IUser player;
- try
- {
- player = ess.getUserMap().matchUser(args[0], false, false);
- }
- catch (NoSuchFieldException ex)
- {
- player = ess.getUserMap().getUser(args[0]);
- }
- if (player == null)
- {
- throw new Exception(_("playerNotFound"));
- }
+ IUser player = ess.getUserMap().matchUser(args[0], false, false);
user.acquireWriteLock();
if (user.isIgnoringPlayer(player))
diff --git a/Essentials/src/net/ess3/commands/Commandinfo.java b/Essentials/src/net/ess3/commands/Commandinfo.java
index c101ea3d6..cf8d90818 100644
--- a/Essentials/src/net/ess3/commands/Commandinfo.java
+++ b/Essentials/src/net/ess3/commands/Commandinfo.java
@@ -1,10 +1,10 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
+import org.bukkit.command.CommandSender;
public class Commandinfo extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandinvsee.java b/Essentials/src/net/ess3/commands/Commandinvsee.java
index 41f031cef..f20ac8142 100644
--- a/Essentials/src/net/ess3/commands/Commandinvsee.java
+++ b/Essentials/src/net/ess3/commands/Commandinvsee.java
@@ -1,10 +1,10 @@
package net.ess3.commands;
+import java.util.Arrays;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.user.Inventory;
-import java.util.Arrays;
-import net.ess3.api.server.ItemStack;
+import org.bukkit.inventory.ItemStack;
@@ -26,17 +26,17 @@ public class Commandinvsee extends EssentialsCommand
user.acquireWriteLock();
if (invUser == user && user.getData().getInventory() != null)
{
- invUser.getInventory().setContents(user.getData().getInventory().getBukkitInventory());
+ invUser.getPlayer().getInventory().setContents(user.getData().getInventory().getBukkitInventory());
user.getData().setInventory(null);
user.sendMessage(_("invRestored"));
throw new NoChargeException();
}
if (user.getData().getInventory() == null)
{
- user.getData().setInventory(new Inventory(user.getInventory().getContents()));
+ user.getData().setInventory(new Inventory(user.getPlayer().getInventory().getContents()));
}
- ItemStack[] invUserStack = invUser.getInventory().getContents();
- final int userStackLength = user.getInventory().getContents().length;
+ ItemStack[] invUserStack = invUser.getPlayer().getInventory().getContents();
+ final int userStackLength = user.getPlayer().getInventory().getContents().length;
if (invUserStack.length < userStackLength)
{
invUserStack = Arrays.copyOf(invUserStack, userStackLength);
@@ -45,8 +45,8 @@ public class Commandinvsee extends EssentialsCommand
{
throw new Exception(_("invBigger"));
}
- user.getInventory().setContents(invUserStack);
- user.sendMessage(_("invSee", invUser.getDisplayName()));
+ user.getPlayer().getInventory().setContents(invUserStack);
+ user.sendMessage(_("invSee", invUser.getPlayer().getDisplayName()));
user.sendMessage(_("invSeeHelp"));
throw new NoChargeException();
}
diff --git a/Essentials/src/net/ess3/commands/Commanditem.java b/Essentials/src/net/ess3/commands/Commanditem.java
index 132e1d4aa..b3807481b 100644
--- a/Essentials/src/net/ess3/commands/Commanditem.java
+++ b/Essentials/src/net/ess3/commands/Commanditem.java
@@ -1,11 +1,11 @@
package net.ess3.commands;
+import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Enchantment;
-import net.ess3.api.server.ItemStack;
import net.ess3.permissions.ItemPermissions;
-import java.util.Locale;
+import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.ItemStack;
public class Commanditem extends EssentialsCommand
@@ -53,7 +53,7 @@ public class Commanditem extends EssentialsCommand
}
}
- if (stack.isAir())
+ if (stack.getTypeId() == 0)
{
throw new Exception(_("cantSpawnItem", "Air"));
}
diff --git a/Essentials/src/net/ess3/commands/Commanditemdb.java b/Essentials/src/net/ess3/commands/Commanditemdb.java
index 552ce7b27..3008ebfda 100644
--- a/Essentials/src/net/ess3/commands/Commanditemdb.java
+++ b/Essentials/src/net/ess3/commands/Commanditemdb.java
@@ -1,10 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
-import net.ess3.api.server.Player;
+import net.ess3.api.IUser;
+import org.bukkit.command.CommandSender;
+import org.bukkit.inventory.ItemStack;
@@ -16,9 +15,9 @@ public class Commanditemdb extends EssentialsCommand
ItemStack itemStack = null;
if (args.length < 1)
{
- if (sender instanceof Player)
+ if (sender instanceof IUser)
{
- itemStack = ((Player)sender).getItemInHand();
+ itemStack = ((IUser)sender).getPlayer().getItemInHand();
}
if (itemStack == null)
{
@@ -32,7 +31,7 @@ public class Commanditemdb extends EssentialsCommand
sender.sendMessage(itemStack.getType().toString() + "- " + itemStack.getTypeId() + ":" + Integer.toString(itemStack.getData().getData()));
- if (itemStack.getType() != Material.AIR)
+ if (itemStack.getTypeId() != 0)
{
int maxuses = itemStack.getType().getMaxDurability();
int durability = ((maxuses + 1) - itemStack.getDurability());
diff --git a/Essentials/src/net/ess3/commands/Commandjails.java b/Essentials/src/net/ess3/commands/Commandjails.java
index 44f2de4e1..6a68c1e91 100644
--- a/Essentials/src/net/ess3/commands/Commandjails.java
+++ b/Essentials/src/net/ess3/commands/Commandjails.java
@@ -1,7 +1,7 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
public class Commandjails extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandjump.java b/Essentials/src/net/ess3/commands/Commandjump.java
index 542d5cdbe..835db0fb9 100644
--- a/Essentials/src/net/ess3/commands/Commandjump.java
+++ b/Essentials/src/net/ess3/commands/Commandjump.java
@@ -1,11 +1,10 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
-import net.ess3.api.server.ILocation; //shouldn't this be location?
-import net.ess3.api.server.Location;
+import net.ess3.economy.Trade;
import net.ess3.utils.LocationUtil;
+import org.bukkit.Location;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -15,11 +14,11 @@ public class Commandjump extends EssentialsCommand
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
Location loc;
- final ILocation cloc = user.getLocation();
+ final Location cloc = user.getPlayer().getLocation();
try
{
- loc = LocationUtil.getTarget(user);
+ loc = LocationUtil.getTarget(user.getPlayer());
loc.setYaw(cloc.getYaw());
loc.setPitch(cloc.getPitch());
loc.setY(loc.getY() + 1);
diff --git a/Essentials/src/net/ess3/commands/Commandkick.java b/Essentials/src/net/ess3/commands/Commandkick.java
index de6495be0..ed3965794 100644
--- a/Essentials/src/net/ess3/commands/Commandkick.java
+++ b/Essentials/src/net/ess3/commands/Commandkick.java
@@ -3,9 +3,9 @@ package net.ess3.commands;
import net.ess3.Console;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandkick extends EssentialsCommand
@@ -24,13 +24,12 @@ public class Commandkick extends EssentialsCommand
throw new Exception(_("kickExempt"));
}
final String kickReason = args.length > 1 ? getFinalArg(args, 1) : _("kickDefault");
- user.kickPlayer(kickReason);
- final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
+ user.getPlayer().kickPlayer(kickReason);
+ final String senderName = sender instanceof IUser ? ((IUser)sender).getPlayer().getDisplayName() : Console.NAME;
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser player = onlinePlayer.getUser();
- if (Permissions.KICK_NOTIFY.isAuthorized(player))
+ if (Permissions.KICK_NOTIFY.isAuthorized(onlinePlayer))
{
onlinePlayer.sendMessage(_("playerKicked", senderName, user.getName(), kickReason));
}
diff --git a/Essentials/src/net/ess3/commands/Commandkickall.java b/Essentials/src/net/ess3/commands/Commandkickall.java
index e66409f69..fbea0199e 100644
--- a/Essentials/src/net/ess3/commands/Commandkickall.java
+++ b/Essentials/src/net/ess3/commands/Commandkickall.java
@@ -1,8 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import net.ess3.api.IUser;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandkickall extends EssentialsCommand
@@ -12,7 +13,7 @@ public class Commandkickall extends EssentialsCommand
{
for (Player onlinePlayer : server.getOnlinePlayers())
{
- if (sender.isPlayer() && onlinePlayer.getName().equalsIgnoreCase(((Player)sender).getName()))
+ if (sender instanceof IUser && onlinePlayer.getName().equalsIgnoreCase(((Player)sender).getName()))
{
continue;
}
diff --git a/Essentials/src/net/ess3/commands/Commandkill.java b/Essentials/src/net/ess3/commands/Commandkill.java
index 1b1ed1055..a098f8096 100644
--- a/Essentials/src/net/ess3/commands/Commandkill.java
+++ b/Essentials/src/net/ess3/commands/Commandkill.java
@@ -1,10 +1,8 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-//TODO: remove this
+import net.ess3.api.IUser;
+import org.bukkit.command.CommandSender;
import org.bukkit.event.entity.EntityDamageEvent;
@@ -18,17 +16,17 @@ public class Commandkill extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
+ for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
{
- final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer, sender instanceof Player && ((Player)sender).getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
+ final EntityDamageEvent ede = new EntityDamageEvent(matchPlayer.getPlayer(), sender instanceof IUser && sender.getName().equals(matchPlayer.getName()) ? EntityDamageEvent.DamageCause.SUICIDE : EntityDamageEvent.DamageCause.CUSTOM, Short.MAX_VALUE);
server.getPluginManager().callEvent(ede);
if (ede.isCancelled() && !sender.hasPermission("essentials.kill.force"))
{
continue;
}
- matchPlayer.damage(Short.MAX_VALUE);
- sender.sendMessage(_("kill", matchPlayer.getDisplayName()));
+ matchPlayer.getPlayer().damage(Short.MAX_VALUE);
+ sender.sendMessage(_("kill", matchPlayer.getPlayer().getDisplayName()));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandkillall.java b/Essentials/src/net/ess3/commands/Commandkillall.java
index a04eccd7d..b8518b73f 100644
--- a/Essentials/src/net/ess3/commands/Commandkillall.java
+++ b/Essentials/src/net/ess3/commands/Commandkillall.java
@@ -1,16 +1,12 @@
package net.ess3.commands;
-import static net.ess3.I18n._;
-
-import net.ess3.bukkit.Mob;
import java.util.Collections;
import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.World;
-import net.ess3.bukkit.Mob;
-//TODO: remove these
+import net.ess3.bukkit.LivingEntities;
import org.bukkit.Chunk;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
import org.bukkit.event.entity.EntityDeathEvent;
@@ -78,11 +74,11 @@ public class Commandkillall extends EssentialsCommand
Class<? extends Entity> entityClass = null;
if (!animals && !monster && !all)
{
- if (Mob.fromName(killType) == null)
+ if (LivingEntities.fromName(killType) == null)
{
throw new Exception(_("invalidMob"));
}
- entityClass = Mob.fromName(killType).getType().getEntityClass();
+ entityClass = LivingEntities.fromName(killType).getEntityClass();
}
int numKills = 0;
for (Chunk chunk : world.getLoadedChunks())
diff --git a/Essentials/src/net/ess3/commands/Commandkit.java b/Essentials/src/net/ess3/commands/Commandkit.java
index f3ea78ce1..7ba4264fe 100644
--- a/Essentials/src/net/ess3/commands/Commandkit.java
+++ b/Essentials/src/net/ess3/commands/Commandkit.java
@@ -1,13 +1,13 @@
package net.ess3.commands;
+import java.util.Collection;
+import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
-import net.ess3.utils.Util;
import net.ess3.api.IUser;
+import net.ess3.economy.Trade;
import net.ess3.permissions.KitPermissions;
import net.ess3.settings.Kit;
-import java.util.Collection;
-import java.util.Locale;
+import net.ess3.utils.Util;
public class Commandkit extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandkittycannon.java b/Essentials/src/net/ess3/commands/Commandkittycannon.java
index 80dd7c4dd..455ddd1a5 100644
--- a/Essentials/src/net/ess3/commands/Commandkittycannon.java
+++ b/Essentials/src/net/ess3/commands/Commandkittycannon.java
@@ -3,9 +3,8 @@ package net.ess3.commands;
import java.util.Random;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
-import net.ess3.bukkit.Mob;
-//TODO: remove this
+import org.bukkit.Location;
+import org.bukkit.entity.EntityType;
import org.bukkit.entity.Ocelot;
@@ -16,8 +15,8 @@ public class Commandkittycannon extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final Mob cat = Mob.OCELOT;
- final Ocelot ocelot = (Ocelot)cat.spawn(user, server, user.getEyeLocation());
+ final EntityType cat = EntityType.OCELOT;
+ final Ocelot ocelot = (Ocelot)user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation(), cat.getEntityClass());
if (ocelot == null)
{
return;
@@ -25,7 +24,7 @@ public class Commandkittycannon extends EssentialsCommand
final int i = random.nextInt(Ocelot.Type.values().length);
ocelot.setCatType(Ocelot.Type.values()[i]);
ocelot.setTamed(true);
- ocelot.setVelocity(user.getEyeLocation().getDirection().multiply(2));
+ ocelot.setVelocity(user.getPlayer().getEyeLocation().getDirection().multiply(2));
ess.getPlugin().scheduleSyncDelayedTask(new Runnable()
{
@Override
diff --git a/Essentials/src/net/ess3/commands/Commandlightning.java b/Essentials/src/net/ess3/commands/Commandlightning.java
index fd7d62db4..56a7122a4 100644
--- a/Essentials/src/net/ess3/commands/Commandlightning.java
+++ b/Essentials/src/net/ess3/commands/Commandlightning.java
@@ -1,13 +1,11 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-//TODO: remove this
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.LightningStrike;
@@ -18,13 +16,13 @@ public class Commandlightning extends EssentialsCommand
{
IUser user = null;
- if (sender instanceof Player)
+ if (isUser(sender))
{
- user = ess.getUserMap().getUser(((Player)sender));
+ user = getUser(sender);
}
if ((args.length < 1 || !Permissions.LIGHTNING_OTHERS.isAuthorized(user)) && user != null)
{
- user.getWorld().strikeLightning(user.getTargetBlock(null, 600).getLocation());
+ user.getPlayer().getWorld().strikeLightning(user.getPlayer().getTargetBlock(null, 600).getLocation());
return;
}
@@ -45,13 +43,13 @@ public class Commandlightning extends EssentialsCommand
}
}
- for (Player matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
+ for (IUser matchPlayer : ess.getUserMap().matchUsers(args[0], false, false))
{
- sender.sendMessage(_("lightningUse", matchPlayer.getDisplayName()));
- final LightningStrike strike = matchPlayer.getWorld().strikeLightningEffect(matchPlayer.getLocation());
- if (!ess.getUserMap().getUser(matchPlayer).isGodModeEnabled())
+ sender.sendMessage(_("lightningUse", matchPlayer.getPlayer().getDisplayName()));
+ final LightningStrike strike = matchPlayer.getPlayer().getWorld().strikeLightningEffect(matchPlayer.getPlayer().getLocation());
+ if (!matchPlayer.isGodModeEnabled())
{
- matchPlayer.damage(power, strike);
+ matchPlayer.getPlayer().damage(power, strike);
}
@Cleanup
final ISettings settings = ess.getSettings();
diff --git a/Essentials/src/net/ess3/commands/Commandlist.java b/Essentials/src/net/ess3/commands/Commandlist.java
index b8fc52738..826dc12d2 100644
--- a/Essentials/src/net/ess3/commands/Commandlist.java
+++ b/Essentials/src/net/ess3/commands/Commandlist.java
@@ -1,13 +1,14 @@
package net.ess3.commands;
+import java.util.*;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import java.util.*;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandlist extends EssentialsCommand
{
@@ -22,7 +23,7 @@ public class Commandlist extends EssentialsCommand
int playerHidden = 0;
for (Player onlinePlayer : server.getOnlinePlayers())
{
- if (onlinePlayer.getUser().isHidden())
+ if (ess.getUserMap().getUser(onlinePlayer).isHidden())
{
playerHidden++;
}
@@ -31,11 +32,11 @@ public class Commandlist extends EssentialsCommand
String online;
if (showhidden && playerHidden > 0)
{
- online = _("listAmountHidden", server.getOnlinePlayers().size() - playerHidden, playerHidden, server.getMaxPlayers());
+ online = _("listAmountHidden", server.getOnlinePlayers().length - playerHidden, playerHidden, server.getMaxPlayers());
}
else
{
- online = _("listAmount", server.getOnlinePlayers().size() - playerHidden, server.getMaxPlayers());
+ online = _("listAmount", server.getOnlinePlayers().length - playerHidden, server.getMaxPlayers());
}
sender.sendMessage(online);
@@ -56,7 +57,7 @@ public class Commandlist extends EssentialsCommand
Map<String, List<IUser>> sort = new HashMap<String, List<IUser>>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser player = onlinePlayer.getUser();
+ final IUser player = getUser(onlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
@@ -75,7 +76,7 @@ public class Commandlist extends EssentialsCommand
for (String group : groups)
{
final StringBuilder groupString = new StringBuilder();
- groupString.append(_("listGroupTag",Util.replaceFormat(group)));
+ groupString.append(_("listGroupTag",FormatUtil.replaceFormat(group)));
final List<IUser> users = sort.get(group);
Collections.sort(users);
boolean first = true;
@@ -106,7 +107,7 @@ public class Commandlist extends EssentialsCommand
groupString.append(_("listHiddenTag"));
}
user.setDisplayNick();
- groupString.append(user.getDisplayName());
+ groupString.append(user.getPlayer().getDisplayName());
groupString.append("§f");
}
sender.sendMessage(groupString.toString());
@@ -117,7 +118,7 @@ public class Commandlist extends EssentialsCommand
final List<IUser> users = new ArrayList<IUser>();
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser player =onlinePlayer.getUser();
+ final IUser player = getUser(onlinePlayer);
if (player.isHidden() && !showhidden)
{
continue;
@@ -156,7 +157,7 @@ public class Commandlist extends EssentialsCommand
onlineUsers.append(_("listHiddenTag"));
}
user.setDisplayNick();
- onlineUsers.append(user.getDisplayName());
+ onlineUsers.append(user.getPlayer().getDisplayName());
onlineUsers.append("§f");
}
sender.sendMessage(onlineUsers.toString());
diff --git a/Essentials/src/net/ess3/commands/Commandmail.java b/Essentials/src/net/ess3/commands/Commandmail.java
index 8685133f6..935a31803 100644
--- a/Essentials/src/net/ess3/commands/Commandmail.java
+++ b/Essentials/src/net/ess3/commands/Commandmail.java
@@ -3,10 +3,10 @@ package net.ess3.commands;
import java.util.List;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
public class Commandmail extends EssentialsCommand
@@ -37,23 +37,14 @@ public class Commandmail extends EssentialsCommand
throw new Exception(_("noPerm", "essentials.mail.send"));
}
- Player player = ess.getUserMap().matchUser(args[1], true, true);
- IUser u;
- if (player != null)
- {
- u = player.getUser();
- }
- else
- {
- u = ess.getUserMap().matchUser(args[1], true, true);
- }
+ IUser u = ess.getUserMap().matchUser(args[1], true, true);
if (u == null)
{
throw new Exception(_("playerNeverOnServer", args[1]));
}
if (!u.isIgnoringPlayer(user))
{
- final String mail = Util.sanitizeString(Util.stripFormat(getFinalArg(args, 2)));
+ final String mail = Util.sanitizeString(FormatUtil.stripFormat(getFinalArg(args, 2)));
u.addMail(user.getName() + ": " + mail);
}
user.sendMessage(_("mailSent"));
@@ -65,7 +56,7 @@ public class Commandmail extends EssentialsCommand
{
throw new Exception(_("noPerm", "essentials.mail.sendall"));
}
- ess.getPlugin().scheduleAsyncDelayedTask(new SendAll(user.getName() + ": " + Util.stripColor(getFinalArg(args, 1))));
+ ess.getPlugin().scheduleAsyncDelayedTask(new SendAll(user.getName() + ": " + FormatUtil.stripColor(getFinalArg(args, 1))));
user.sendMessage(_("mailSent"));
return;
}
@@ -92,20 +83,7 @@ public class Commandmail extends EssentialsCommand
}
else if (args.length >= 3 && "send".equalsIgnoreCase(args[0]))
{
- Player player = ess.getUserMap().matchUser(args[1], true, true);
- IUser u;
- if (player != null)
- {
- u = player.getUser();
- }
- else
- {
- u = ess.getUserMap().matchUser(args[1], true, true);
- }
- if (u == null)
- {
- throw new Exception(_("playerNeverOnServer", args[1]));
- }
+ IUser u = ess.getUserMap().matchUser(args[1], true, true);
u.addMail("Server: " + getFinalArg(args, 2));
sender.sendMessage(_("mailSent"));
return;
@@ -117,20 +95,7 @@ public class Commandmail extends EssentialsCommand
else if (args.length >= 2)
{
//allow sending from console without "send" argument, since it's the only thing the console can do
- Player player = ess.getUserMap().matchUser(args[0], true, true);
- IUser u;
- if (player != null)
- {
- u = player.getUser();
- }
- else
- {
- u = ess.getUserMap().matchUser(args[0], true, true);
- }
- if (u == null)
- {
- throw new Exception(_("playerNeverOnServer", args[0]));
- }
+ IUser u = ess.getUserMap().matchUser(args[0], true, true);
u.addMail("Server: " + getFinalArg(args, 1));
sender.sendMessage(_("mailSent"));
return;
diff --git a/Essentials/src/net/ess3/commands/Commandme.java b/Essentials/src/net/ess3/commands/Commandme.java
index fb62ec234..59c28fdfe 100644
--- a/Essentials/src/net/ess3/commands/Commandme.java
+++ b/Essentials/src/net/ess3/commands/Commandme.java
@@ -1,9 +1,10 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
public class Commandme extends EssentialsCommand
@@ -24,14 +25,14 @@ public class Commandme extends EssentialsCommand
String message = getFinalArg(args, 0);
if (Permissions.CHAT_COLOR.isAuthorized(user))
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
}
else {
- message = Util.stripColor(message);
+ message = FormatUtil.stripColor(message);
}
user.setDisplayNick();
- ess.broadcastMessage(user, _("action", user.getDisplayName(), message));
+ ess.broadcastMessage(user, _("action", user.getPlayer().getDisplayName(), message));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandmore.java b/Essentials/src/net/ess3/commands/Commandmore.java
index 450e644e4..5c4d392a5 100644
--- a/Essentials/src/net/ess3/commands/Commandmore.java
+++ b/Essentials/src/net/ess3/commands/Commandmore.java
@@ -1,12 +1,12 @@
package net.ess3.commands;
+import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.ItemPermissions;
import net.ess3.permissions.Permissions;
-import java.util.Locale;
-import net.ess3.api.server.ItemStack;
+import org.bukkit.inventory.ItemStack;
public class Commandmore extends EssentialsCommand
@@ -14,7 +14,7 @@ public class Commandmore extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final ItemStack stack = user.getItemInHand();
+ final ItemStack stack = user.getPlayer().getItemInHand();
if (stack == null)
{
throw new Exception(_("cantSpawnItem", "Air"));
@@ -51,6 +51,6 @@ public class Commandmore extends EssentialsCommand
{
stack.setAmount(defaultStackSize > 0 ? defaultStackSize : stack.getMaxStackSize());
}
- user.updateInventory();
+ user.getPlayer().updateInventory();
}
} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/commands/Commandmotd.java b/Essentials/src/net/ess3/commands/Commandmotd.java
index d59edd7f1..907a41b34 100644
--- a/Essentials/src/net/ess3/commands/Commandmotd.java
+++ b/Essentials/src/net/ess3/commands/Commandmotd.java
@@ -1,10 +1,10 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
+import org.bukkit.command.CommandSender;
public class Commandmotd extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandmsg.java b/Essentials/src/net/ess3/commands/Commandmsg.java
index ce29ed5b9..35b01bcf6 100644
--- a/Essentials/src/net/ess3/commands/Commandmsg.java
+++ b/Essentials/src/net/ess3/commands/Commandmsg.java
@@ -1,15 +1,16 @@
package net.ess3.commands;
+import java.util.List;
+import java.util.Set;
+import lombok.Cleanup;
import net.ess3.Console;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.IReplyTo;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-import java.util.List;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
@@ -24,10 +25,10 @@ public class Commandmsg extends EssentialsCommand
}
String message = getFinalArg(args, 1);
- if (sender instanceof Player)
+ if (isUser(sender))
{
@Cleanup
- IUser user = ess.getUserMap().getUser((Player)sender);
+ IUser user = getUser(sender);
user.acquireReadLock();
if (user.getData().isMuted())
{
@@ -35,22 +36,22 @@ public class Commandmsg extends EssentialsCommand
}
if (Permissions.MSG_COLOR.isAuthorized(user))
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
}
else
{
- message = Util.stripColor(message);
+ message = FormatUtil.stripColor(message);
}
}
else
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
}
final String translatedMe = _("me");
- final IReplyTo replyTo = sender instanceof Player ? ess.getUserMap().getUser((Player)sender) : Console.getConsoleReplyTo();
- final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
+ final IReplyTo replyTo = isUser(sender) ? getUser(sender) : Console.getConsoleReplyTo();
+ final String senderName = isUser(sender) ? getPlayer(sender).getDisplayName() : Console.NAME;
if (args[0].equalsIgnoreCase(Console.NAME))
{
@@ -62,7 +63,7 @@ public class Commandmsg extends EssentialsCommand
return;
}
- final List<Player> matchedPlayers = ess.getUserMap().matchUser(args[0], false, false);
+ final Set<IUser> matchedPlayers = ess.getUserMap().matchUsers(args[0], true, false);
if (matchedPlayers.isEmpty())
{
@@ -70,9 +71,8 @@ public class Commandmsg extends EssentialsCommand
}
int i = 0;
- for (Player matchedPlayer : matchedPlayers)
+ for (IUser u : matchedPlayers)
{
- final IUser u = ess.getUserMap().getUser(matchedPlayer);
if (u.isHidden())
{
i++;
@@ -83,17 +83,16 @@ public class Commandmsg extends EssentialsCommand
throw new Exception(_("playerNotFound"));
}
- for (Player matchedPlayer : matchedPlayers)
+ for (IUser matchedPlayer : matchedPlayers)
{
- sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getDisplayName(), message));
- final IUser matchedUser = ess.getUserMap().getUser(matchedPlayer);
- if (sender instanceof Player && (matchedUser.isIgnoringPlayer(ess.getUserMap().getUser((Player)sender)) || matchedUser.isHidden()))
+ sender.sendMessage(_("msgFormat", translatedMe, matchedPlayer.getPlayer().getDisplayName(), message));
+ if (isUser(sender) && (matchedPlayer.isIgnoringPlayer(getUser(sender)) || matchedPlayer.isHidden()))
{
continue;
}
matchedPlayer.sendMessage(_("msgFormat", senderName, translatedMe, message));
- replyTo.setReplyTo(ess.getUserMap().getUser(matchedPlayer));
- ess.getUserMap().getUser(matchedPlayer).setReplyTo(sender);
+ replyTo.setReplyTo(matchedPlayer);
+ matchedPlayer.setReplyTo(sender);
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandmute.java b/Essentials/src/net/ess3/commands/Commandmute.java
index fe3ae21b5..2fffc300c 100644
--- a/Essentials/src/net/ess3/commands/Commandmute.java
+++ b/Essentials/src/net/ess3/commands/Commandmute.java
@@ -1,13 +1,12 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
-
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
-import net.ess3.api.server.CommandSender;
-import lombok.Cleanup;
+import org.bukkit.command.CommandSender;
public class Commandmute extends EssentialsCommand
{
@@ -43,9 +42,9 @@ public class Commandmute extends EssentialsCommand
sender.sendMessage(
muted
? (muteTimestamp > 0
- ? _("mutedPlayerFor", player.getDisplayName(), DateUtil.formatDateDiff(muteTimestamp))
- : _("mutedPlayer", player.getDisplayName()))
- : _("unmutedPlayer", player.getDisplayName()));
+ ? _("mutedPlayerFor", player.getPlayer().getDisplayName(), DateUtil.formatDateDiff(muteTimestamp))
+ : _("mutedPlayer", player.getPlayer().getDisplayName()))
+ : _("unmutedPlayer", player.getPlayer().getDisplayName()));
player.sendMessage(
muted
? (muteTimestamp > 0
diff --git a/Essentials/src/net/ess3/commands/Commandnear.java b/Essentials/src/net/ess3/commands/Commandnear.java
index 86aa0bc03..d8c313012 100644
--- a/Essentials/src/net/ess3/commands/Commandnear.java
+++ b/Essentials/src/net/ess3/commands/Commandnear.java
@@ -2,11 +2,11 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.World;
import net.ess3.permissions.Permissions;
+import org.bukkit.Location;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandnear extends EssentialsCommand
@@ -79,17 +79,17 @@ public class Commandnear extends EssentialsCommand
private String getLocal(final IUser user, final long radius)
{
- final Location loc = user.getLocation();
+ final Location loc = user.getPlayer().getLocation();
final World world = loc.getWorld();
final StringBuilder output = new StringBuilder();
final long radiusSquared = radius * radius;
for (Player onlinePlayer : server.getOnlinePlayers())
{
- final IUser player = ess.getUserMap().getUser(onlinePlayer);
+ final IUser player = getUser(onlinePlayer);
if (!player.equals(user) && !player.isHidden())
{
- final Location playerLoc = player.getLocation();
+ final Location playerLoc = onlinePlayer.getLocation();
if (playerLoc.getWorld() != world)
{
continue;
@@ -102,7 +102,7 @@ public class Commandnear extends EssentialsCommand
{
output.append(", ");
}
- output.append(player.getDisplayName()).append("§f(§4").append((long)Math.sqrt(delta)).append("m§f)");
+ output.append(onlinePlayer.getDisplayName()).append("§f(§4").append((long)Math.sqrt(delta)).append("m§f)");
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandnick.java b/Essentials/src/net/ess3/commands/Commandnick.java
index a0ec13c91..0be72fd81 100644
--- a/Essentials/src/net/ess3/commands/Commandnick.java
+++ b/Essentials/src/net/ess3/commands/Commandnick.java
@@ -5,11 +5,12 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Server;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandnick extends EssentialsCommand
@@ -70,11 +71,11 @@ public class Commandnick extends EssentialsCommand
{
if (user == null || Permissions.NICK_COLOR.isAuthorized(user))
{
- return Util.replaceFormat(nick);
+ return FormatUtil.replaceFormat(nick);
}
else
{
- return Util.formatString(user, "essentials.nick", nick);
+ return FormatUtil.formatString(user, "essentials.nick", nick);
}
}
@@ -108,7 +109,7 @@ public class Commandnick extends EssentialsCommand
{
for (Player p : server.getOnlinePlayers())
{
- if (target.getBase() == p)
+ if (target.getPlayer().equals(p))
{
continue;
}
@@ -123,7 +124,7 @@ public class Commandnick extends EssentialsCommand
target.getData().setNickname(nick);
target.updateDisplayName();
- target.sendMessage(_("nickSet", target.getDisplayName() + "§7."));
+ target.sendMessage(_("nickSet", target.getPlayer().getDisplayName() + "§7."));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandpay.java b/Essentials/src/net/ess3/commands/Commandpay.java
index a4f2e0682..d24a3a4a7 100644
--- a/Essentials/src/net/ess3/commands/Commandpay.java
+++ b/Essentials/src/net/ess3/commands/Commandpay.java
@@ -1,9 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
-import net.ess3.api.server.Player;
+import net.ess3.economy.Trade;
+import org.bukkit.entity.Player;
@@ -25,10 +25,10 @@ public class Commandpay extends EssentialsCommand
double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", ""));
boolean foundUser = false;
- for (Player p : ess.getUserMap().matchUsers(args[0], false, true))
+ for (IUser u : ess.getUserMap().matchUsers(args[0], false, true))
{
- user.payUser(p.getUser(), amount);
- Trade.log("Command", "Pay", "Player", user.getName(), new Trade(amount, ess), p.getName(), new Trade(amount, ess), user.getLocation(), ess);
+ user.payUser(u, amount);
+ Trade.log("Command", "Pay", "Player", user.getName(), new Trade(amount, ess), u.getName(), new Trade(amount, ess), user.getPlayer().getLocation(), ess);
foundUser = true;
}
diff --git a/Essentials/src/net/ess3/commands/Commandping.java b/Essentials/src/net/ess3/commands/Commandping.java
index 1aebfa971..cf247e8de 100644
--- a/Essentials/src/net/ess3/commands/Commandping.java
+++ b/Essentials/src/net/ess3/commands/Commandping.java
@@ -1,8 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.IUser;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
public class Commandping extends EssentialsCommand
@@ -16,7 +17,7 @@ public class Commandping extends EssentialsCommand
}
else
{
- user.sendMessage(Util.replaceFormat(getFinalArg(args, 0)));
+ user.sendMessage(FormatUtil.replaceFormat(getFinalArg(args, 0)));
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandpowertool.java b/Essentials/src/net/ess3/commands/Commandpowertool.java
index a95ca6797..00187a4a6 100644
--- a/Essentials/src/net/ess3/commands/Commandpowertool.java
+++ b/Essentials/src/net/ess3/commands/Commandpowertool.java
@@ -5,10 +5,10 @@ import java.util.List;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
public class Commandpowertool extends EssentialsCommand
@@ -27,7 +27,7 @@ public class Commandpowertool extends EssentialsCommand
return;
}
- final ItemStack itemStack = user.getItemInHand();
+ final ItemStack itemStack = user.getPlayer().getItemInHand();
if (itemStack == null || itemStack.getType() == Material.AIR)
{
throw new Exception(_("powerToolAir"));
diff --git a/Essentials/src/net/ess3/commands/Commandptime.java b/Essentials/src/net/ess3/commands/Commandptime.java
index 396497618..357f117b5 100644
--- a/Essentials/src/net/ess3/commands/Commandptime.java
+++ b/Essentials/src/net/ess3/commands/Commandptime.java
@@ -3,11 +3,11 @@ package net.ess3.commands;
import java.util.*;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.World;
import net.ess3.permissions.Permissions;
import net.ess3.utils.DescParseTickFormat;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
@@ -94,14 +94,14 @@ public class Commandptime extends EssentialsCommand
for (IUser user : users)
{
- if (user.getPlayerTimeOffset() == 0)
+ if (user.getPlayer().getPlayerTimeOffset() == 0)
{
sender.sendMessage(_("pTimeNormal", user.getName()));
}
else
{
- String time = DescParseTickFormat.format(user.getPlayerTime());
- if (!user.isPlayerTimeRelative())
+ String time = DescParseTickFormat.format(user.getPlayer().getPlayerTime());
+ if (!user.getPlayer().isPlayerTimeRelative())
{
sender.sendMessage(_("pTimeCurrentFixed", user.getName(), time));
}
@@ -124,7 +124,7 @@ public class Commandptime extends EssentialsCommand
// Reset
for (IUser user : users)
{
- user.resetPlayerTime();
+ user.getPlayer().resetPlayerTime();
}
}
else
@@ -132,15 +132,15 @@ public class Commandptime extends EssentialsCommand
// Set
for (IUser user : users)
{
- final World world = user.getWorld();
- long time = user.getPlayerTime();
+ final World world = user.getPlayer().getWorld();
+ long time = user.getPlayer().getPlayerTime();
time -= time % 24000;
time += 24000 + ticks;
if (relative)
{
time -= world.getTime();
}
- user.setPlayerTime(time, relative);
+ user.getPlayer().setPlayerTime(time, relative);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandr.java b/Essentials/src/net/ess3/commands/Commandr.java
index 1e0b5750e..d080c696f 100644
--- a/Essentials/src/net/ess3/commands/Commandr.java
+++ b/Essentials/src/net/ess3/commands/Commandr.java
@@ -2,12 +2,13 @@ package net.ess3.commands;
import net.ess3.Console;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.IReplyTo;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandr extends EssentialsCommand
@@ -29,18 +30,18 @@ public class Commandr extends EssentialsCommand
IUser user = ess.getUserMap().getUser((Player)sender);
if (Permissions.MSG_COLOR.isAuthorized(user))
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
}
else
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
}
replyTo = user;
- senderName = user.getDisplayName();
+ senderName = user.getPlayer().getDisplayName();
}
else
{
- message = Util.replaceFormat(message);
+ message = FormatUtil.replaceFormat(message);
replyTo = Console.getConsoleReplyTo();
senderName = Console.NAME;
}
diff --git a/Essentials/src/net/ess3/commands/Commandrealname.java b/Essentials/src/net/ess3/commands/Commandrealname.java
index f21c7e2c5..a5b5e933c 100644
--- a/Essentials/src/net/ess3/commands/Commandrealname.java
+++ b/Essentials/src/net/ess3/commands/Commandrealname.java
@@ -5,9 +5,10 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandrealname extends EssentialsCommand
@@ -30,15 +31,15 @@ public class Commandrealname extends EssentialsCommand
continue;
}
u.setDisplayNick();
- final String displayName = Util.stripFormat(u.getDisplayName()).toLowerCase(Locale.ENGLISH);
+ final String displayName = FormatUtil.stripFormat(u.getPlayer().getDisplayName()).toLowerCase(Locale.ENGLISH);
settings.acquireReadLock();
if (!whois.equals(displayName)
- && !displayName.equals(Util.stripFormat(settings.getData().getChat().getNicknamePrefix()) + whois)
+ && !displayName.equals(FormatUtil.stripFormat(settings.getData().getChat().getNicknamePrefix()) + whois)
&& !whois.equalsIgnoreCase(u.getName()))
{
continue;
}
- sender.sendMessage(u.getDisplayName() + " " + _("is") + " " + u.getName());
+ sender.sendMessage(u.getPlayer().getDisplayName() + " " + _("is") + " " + u.getName());
}
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandremove.java b/Essentials/src/net/ess3/commands/Commandremove.java
index 8aa2f28de..02cbd16a1 100644
--- a/Essentials/src/net/ess3/commands/Commandremove.java
+++ b/Essentials/src/net/ess3/commands/Commandremove.java
@@ -3,10 +3,9 @@ package net.ess3.commands;
import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.World;
-//TODO: remove bukkit
import org.bukkit.Chunk;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
//Todo: Fix this up
@@ -30,7 +29,7 @@ public class Commandremove extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
ToRemove toRemove;
- final World world = user.getWorld();
+ final World world = user.getPlayer().getWorld();
int radius = 0;
if (args.length < 2)
diff --git a/Essentials/src/net/ess3/commands/Commandrepair.java b/Essentials/src/net/ess3/commands/Commandrepair.java
index 8b9df4a06..c0a9515d7 100644
--- a/Essentials/src/net/ess3/commands/Commandrepair.java
+++ b/Essentials/src/net/ess3/commands/Commandrepair.java
@@ -6,11 +6,11 @@ import java.util.Locale;
import static net.ess3.I18n._;
import net.ess3.api.ChargeException;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.utils.Util;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
public class Commandrepair extends EssentialsCommand
@@ -25,7 +25,7 @@ public class Commandrepair extends EssentialsCommand
if (args[0].equalsIgnoreCase("hand"))
{
- final ItemStack item = user.getItemInHand();
+ final ItemStack item = user.getPlayer().getItemInHand();
if (item == null)
{
throw new Exception(_("repairInvalidType"));
@@ -53,11 +53,11 @@ public class Commandrepair extends EssentialsCommand
final Trade charge = new Trade("repair-all", ess);
charge.isAffordableFor(user);
final List<String> repaired = new ArrayList<String>();
- repairItems(user.getInventory().getContents(), user, repaired);
+ repairItems(user.getPlayer().getInventory().getContents(), user, repaired);
if (Permissions.REPAIR_ARMOR.isAuthorized(user))
{
- repairItems(user.getInventory().getArmorContents(), user, repaired);
+ repairItems(user.getPlayer().getInventory().getArmorContents(), user, repaired);
}
if (repaired.isEmpty())
diff --git a/Essentials/src/net/ess3/commands/Commandrules.java b/Essentials/src/net/ess3/commands/Commandrules.java
index d9993d641..1e15a6097 100644
--- a/Essentials/src/net/ess3/commands/Commandrules.java
+++ b/Essentials/src/net/ess3/commands/Commandrules.java
@@ -1,10 +1,10 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
+import org.bukkit.command.CommandSender;
public class Commandrules extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandseen.java b/Essentials/src/net/ess3/commands/Commandseen.java
index 9dbb6a7f9..dce074a98 100644
--- a/Essentials/src/net/ess3/commands/Commandseen.java
+++ b/Essentials/src/net/ess3/commands/Commandseen.java
@@ -1,13 +1,13 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
-
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
+import net.ess3.user.PlayerNotFoundException;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
-import net.ess3.api.server.CommandSender;
-import lombok.Cleanup;
+import org.bukkit.command.CommandSender;
public class Commandseen extends EssentialsCommand
{
@@ -32,9 +32,9 @@ public class Commandseen extends EssentialsCommand
try
{
IUser u = ess.getUserMap().matchUser(args[0], false, false);
- sender.sendMessage(_("seenOnline", u.getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGIN))));
+ sender.sendMessage(_("seenOnline", u.getPlayer().getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGIN))));
}
- catch (NoSuchFieldException e)
+ catch (PlayerNotFoundException e)
{
@Cleanup
IUser u = ess.getUserMap().getUser(args[0]);
@@ -43,7 +43,7 @@ public class Commandseen extends EssentialsCommand
{
throw new Exception(_("playerNotFound"));
}
- sender.sendMessage(_("seenOffline", u.getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGOUT))));
+ sender.sendMessage(_("seenOffline", u.getPlayer().getDisplayName(), DateUtil.formatDateDiff(u.getTimestamp(TimestampType.LOGOUT))));
if (u.isBanned())
{
sender.sendMessage(_("whoisBanned", show ? u.getData().getBan().getReason() : _("true")));
diff --git a/Essentials/src/net/ess3/commands/Commandsell.java b/Essentials/src/net/ess3/commands/Commandsell.java
index 5826d10b4..06d759d90 100644
--- a/Essentials/src/net/ess3/commands/Commandsell.java
+++ b/Essentials/src/net/ess3/commands/Commandsell.java
@@ -4,11 +4,12 @@ import java.util.Locale;
import java.util.logging.Level;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
import net.ess3.craftbukkit.InventoryWorkaround;
import net.ess3.economy.Trade;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
@@ -24,11 +25,11 @@ public class Commandsell extends EssentialsCommand
ItemStack is = null;
if (args[0].equalsIgnoreCase("hand"))
{
- is = user.getItemInHand();
+ is = user.getPlayer().getItemInHand();
}
else if (args[0].equalsIgnoreCase("inventory") || args[0].equalsIgnoreCase("invent") || args[0].equalsIgnoreCase("all"))
{
- for (ItemStack stack : user.getInventory().getContents())
+ for (ItemStack stack : user.getPlayer().getInventory().getContents())
{
if (stack == null || stack.getType() == Material.AIR)
{
@@ -46,7 +47,7 @@ public class Commandsell extends EssentialsCommand
}
else if (args[0].equalsIgnoreCase("blocks"))
{
- for (ItemStack stack : user.getInventory().getContents())
+ for (ItemStack stack : user.getPlayer().getInventory().getContents())
{
if (stack == null || stack.getTypeId() > 255 || stack.getType() == Material.AIR)
{
@@ -95,7 +96,7 @@ public class Commandsell extends EssentialsCommand
int max = 0;
- for (ItemStack s : user.getInventory().getContents())
+ for (ItemStack s : user.getPlayer().getInventory().getContents())
{
if (s == null)
{
@@ -142,12 +143,12 @@ public class Commandsell extends EssentialsCommand
//TODO: Prices for Enchantments
final ItemStack ris = is.clone();
ris.setAmount(amount);
- InventoryWorkaround.removeItem(user.getInventory(), true, true, ris);
- user.updateInventory();
- Trade.log("Command", "Sell", "Item", user.getName(), new Trade(ris, ess), user.getName(), new Trade(worth * amount, ess), user.getLocation(), ess);
+ InventoryWorkaround.removeItem(user.getPlayer().getInventory(), true, true, ris);
+ user.getPlayer().updateInventory();
+ Trade.log("Command", "Sell", "Item", user.getName(), new Trade(ris, ess), user.getName(), new Trade(worth * amount, ess), user.getPlayer().getLocation(), ess);
user.giveMoney(worth * amount);
- user.sendMessage(_("itemSold", Util.displayCurrency(worth * amount, ess), amount, is.getType().toString().toLowerCase(Locale.ENGLISH), Util.displayCurrency(worth, ess)));
- logger.log(Level.INFO, _("itemSoldConsole", user.getDisplayName(), is.getType().toString().toLowerCase(Locale.ENGLISH), Util.displayCurrency(worth * amount, ess), amount, Util.displayCurrency(worth, ess)));
+ user.sendMessage(_("itemSold", FormatUtil.displayCurrency(worth * amount, ess), amount, is.getType().toString().toLowerCase(Locale.ENGLISH), FormatUtil.displayCurrency(worth, ess)));
+ logger.log(Level.INFO, _("itemSoldConsole", user.getPlayer().getDisplayName(), is.getType().toString().toLowerCase(Locale.ENGLISH), FormatUtil.displayCurrency(worth * amount, ess), amount, FormatUtil.displayCurrency(worth, ess)));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsethome.java b/Essentials/src/net/ess3/commands/Commandsethome.java
index 511d05487..4f74e55dc 100644
--- a/Essentials/src/net/ess3/commands/Commandsethome.java
+++ b/Essentials/src/net/ess3/commands/Commandsethome.java
@@ -38,7 +38,7 @@ public class Commandsethome extends EssentialsCommand
{
user.getData().setHomes(new HashMap<String, net.ess3.storage.StoredLocation>());
}
- user.getData().getHomes().put(args[0].toLowerCase(Locale.ENGLISH), new net.ess3.storage.StoredLocation(user.getLocation()));
+ user.getData().getHomes().put(args[0].toLowerCase(Locale.ENGLISH), new net.ess3.storage.StoredLocation(user.getPlayer().getLocation()));
}
else
{
@@ -76,7 +76,7 @@ public class Commandsethome extends EssentialsCommand
{
usersHome.getData().setHomes(new HashMap<String, net.ess3.storage.StoredLocation>());
}
- usersHome.getData().getHomes().put(name, new net.ess3.storage.StoredLocation(user.getLocation()));
+ usersHome.getData().getHomes().put(name, new net.ess3.storage.StoredLocation(user.getPlayer().getLocation()));
}
}
}
@@ -87,9 +87,9 @@ public class Commandsethome extends EssentialsCommand
{
user.getData().setHomes(new HashMap<String, net.ess3.storage.StoredLocation>());
}
- user.getData().getHomes().put("home", new net.ess3.storage.StoredLocation(user.getLocation()));
+ user.getData().getHomes().put("home", new net.ess3.storage.StoredLocation(user.getPlayer().getLocation()));
}
- user.sendMessage(_("homeSet", user.getLocation().getWorld().getName(), user.getLocation().getBlockX(), user.getLocation().getBlockY(), user.getLocation().getBlockZ()));
+ user.sendMessage(_("homeSet", user.getPlayer().getLocation().getWorld().getName(), user.getPlayer().getLocation().getBlockX(), user.getPlayer().getLocation().getBlockY(), user.getPlayer().getLocation().getBlockZ()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsetjail.java b/Essentials/src/net/ess3/commands/Commandsetjail.java
index 9938b025c..a3fd4fbb6 100644
--- a/Essentials/src/net/ess3/commands/Commandsetjail.java
+++ b/Essentials/src/net/ess3/commands/Commandsetjail.java
@@ -14,7 +14,7 @@ public class Commandsetjail extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- ess.getJails().setJail(args[0], user.getLocation());
+ ess.getJails().setJail(args[0], user.getPlayer().getLocation());
user.sendMessage(_("jailSet", Util.sanitizeString(args[0])));
}
diff --git a/Essentials/src/net/ess3/commands/Commandsetspawn.java b/Essentials/src/net/ess3/commands/Commandsetspawn.java
index ccf319892..45b942943 100644
--- a/Essentials/src/net/ess3/commands/Commandsetspawn.java
+++ b/Essentials/src/net/ess3/commands/Commandsetspawn.java
@@ -11,7 +11,7 @@ public class Commandsetspawn extends EssentialsCommand
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final String group = args.length > 0 ? getFinalArg(args, 0) : "default";
- ((SpawnsHolder)module).setSpawn(user.getLocation(), group);
+ ((SpawnsHolder)module).setSpawn(user.getPlayer().getLocation(), group);
user.sendMessage(_("spawnSet", group));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsetwarp.java b/Essentials/src/net/ess3/commands/Commandsetwarp.java
index d44dbc746..5f7401035 100644
--- a/Essentials/src/net/ess3/commands/Commandsetwarp.java
+++ b/Essentials/src/net/ess3/commands/Commandsetwarp.java
@@ -3,8 +3,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.api.IWarps;
-import net.ess3.api.server.Location;
import net.ess3.permissions.WarpPermissions;
+import org.bukkit.Location;
@@ -24,7 +24,7 @@ public class Commandsetwarp extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- final Location loc = user.getLocation();
+ final Location loc = user.getPlayer().getLocation();
final IWarps warps = ess.getWarps();
Location warpLoc = null;
diff --git a/Essentials/src/net/ess3/commands/Commandsetworth.java b/Essentials/src/net/ess3/commands/Commandsetworth.java
index dab455ad2..92de472bc 100644
--- a/Essentials/src/net/ess3/commands/Commandsetworth.java
+++ b/Essentials/src/net/ess3/commands/Commandsetworth.java
@@ -2,8 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.ItemStack;
+import org.bukkit.command.CommandSender;
+import org.bukkit.inventory.ItemStack;
@@ -22,7 +22,7 @@ public class Commandsetworth extends EssentialsCommand
if (args.length == 1)
{
- stack = user.getInventory().getItemInHand();
+ stack = user.getPlayer().getInventory().getItemInHand();
price = args[0];
}
else
diff --git a/Essentials/src/net/ess3/commands/Commandspawn.java b/Essentials/src/net/ess3/commands/Commandspawn.java
index bb177ae79..23b2bf5ef 100644
--- a/Essentials/src/net/ess3/commands/Commandspawn.java
+++ b/Essentials/src/net/ess3/commands/Commandspawn.java
@@ -2,12 +2,11 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Location;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.settings.SpawnsHolder;
-//TODO: remove bukkit
+import org.bukkit.Location;
+import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -24,7 +23,7 @@ public class Commandspawn extends EssentialsCommand
respawn(otherUser, null);
if (!otherUser.equals(user))
{
- otherUser.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn"));
+ otherUser.sendMessage(_("teleportAtoB", user.getPlayer().getDisplayName(), "spawn"));
user.sendMessage(_("teleporting"));
}
}
@@ -43,7 +42,7 @@ public class Commandspawn extends EssentialsCommand
}
final IUser user = ess.getUserMap().matchUser(args[0], false, false);
respawn(user, null);
- user.sendMessage(_("teleportAtoB", user.getDisplayName(), "spawn"));
+ user.sendMessage(_("teleportAtoB", user.getPlayer().getDisplayName(), "spawn"));
sender.sendMessage(_("teleporting"));
}
diff --git a/Essentials/src/net/ess3/commands/Commandspawner.java b/Essentials/src/net/ess3/commands/Commandspawner.java
index 57eaec651..aeef9e133 100644
--- a/Essentials/src/net/ess3/commands/Commandspawner.java
+++ b/Essentials/src/net/ess3/commands/Commandspawner.java
@@ -1,17 +1,17 @@
package net.ess3.commands;
+import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.bukkit.Mob;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
+import net.ess3.bukkit.LivingEntities;
+import net.ess3.economy.Trade;
import net.ess3.permissions.SpawnerPermissions;
import net.ess3.utils.LocationUtil;
import net.ess3.utils.Util;
-import java.util.Locale;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Material;
-//TODO: remove bukkit
+import org.bukkit.Location;
+import org.bukkit.Material;
import org.bukkit.block.CreatureSpawner;
+import org.bukkit.entity.EntityType;
public class Commandspawner extends EssentialsCommand
@@ -21,10 +21,10 @@ public class Commandspawner extends EssentialsCommand
{
if (args.length < 1 || args[0].length() < 2)
{
- throw new NotEnoughArgumentsException(_("mobsAvailable", Util.joinList(Mob.getMobList())));
+ throw new NotEnoughArgumentsException(_("mobsAvailable", Util.joinList(LivingEntities.getLivingEntityList())));
}
- final Location target = LocationUtil.getTarget(user);
+ final Location target = LocationUtil.getTarget(user.getPlayer());
if (target == null || target.getBlock().getType() != Material.MOB_SPAWNER)
{
throw new Exception(_("mobSpawnTarget"));
@@ -34,22 +34,22 @@ public class Commandspawner extends EssentialsCommand
{
String name = args[0];
- Mob mob = null;
- mob = Mob.fromName(name);
+ EntityType mob = null;
+ mob = LivingEntities.fromName(name);
if (mob == null)
{
user.sendMessage(_("invalidMob"));
return;
}
- if (!SpawnerPermissions.getPermission(mob.name).isAuthorized(user))
+ if (!SpawnerPermissions.getPermission(mob.getName()).isAuthorized(user))
{
throw new Exception(_("unableToSpawnMob"));
}
- final Trade charge = new Trade("spawner-" + mob.name.toLowerCase(Locale.ENGLISH), ess);
+ final Trade charge = new Trade("spawner-" + mob.getName().toLowerCase(Locale.ENGLISH), ess);
charge.isAffordableFor(user);
- ((CreatureSpawner)target.getBlock().getState()).setSpawnedType(mob.getType());
+ ((CreatureSpawner)target.getBlock().getState()).setSpawnedType(mob);
charge.charge(user);
- user.sendMessage(_("setSpawner", mob.name));
+ user.sendMessage(_("setSpawner", mob.getName()));
}
catch (Throwable ex)
{
diff --git a/Essentials/src/net/ess3/commands/Commandspawnmob.java b/Essentials/src/net/ess3/commands/Commandspawnmob.java
index d83749272..14cf3c241 100644
--- a/Essentials/src/net/ess3/commands/Commandspawnmob.java
+++ b/Essentials/src/net/ess3/commands/Commandspawnmob.java
@@ -7,16 +7,16 @@ import java.util.Set;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
-import net.ess3.bukkit.Mob;
-import net.ess3.bukkit.Mob.MobException;
+import net.ess3.bukkit.LivingEntities;
+import net.ess3.bukkit.LivingEntities.MobException;
import net.ess3.permissions.SpawnmobPermissions;
import net.ess3.utils.LocationUtil;
import net.ess3.utils.Util;
import org.bukkit.DyeColor;
+import org.bukkit.Location;
import org.bukkit.block.Block;
-import org.bukkit.entity.Villager.Profession;
import org.bukkit.entity.*;
+import org.bukkit.entity.Villager.Profession;
import org.bukkit.material.Colorable;
//TODO - Bukkit cleanup
@@ -27,7 +27,7 @@ public class Commandspawnmob extends EssentialsCommand
{
if (args.length < 1)
{
- final Set<String> mobList = Mob.getMobList();
+ final Set<String> mobList = LivingEntities.getLivingEntityList();
final Set<String> availableList = new HashSet<String>();
for (String mob : mobList)
{
@@ -66,22 +66,22 @@ public class Commandspawnmob extends EssentialsCommand
Entity spawnedMob = null;
- Mob mob = null;
+ EntityType mob = null;
Entity spawnedMount = null;
- Mob mobMount = null;
+ EntityType mobMount = null;
- mob = Mob.fromName(mobType);
+ mob = LivingEntities.fromName(mobType);
if (mob == null)
{
throw new Exception(_("invalidMob"));
}
- if (!SpawnmobPermissions.getPermission(mob.name).isAuthorized(user))
+ if (!SpawnmobPermissions.getPermission(mob.getName()).isAuthorized(user))
{
throw new Exception(_("noPermToSpawnMob"));
}
- final Block block = LocationUtil.getTarget(user).getBlock();
+ final Block block = LocationUtil.getTarget(user.getPlayer()).getBlock();
if (block == null)
{
throw new Exception(_("unableToSpawnMob"));
@@ -89,37 +89,37 @@ public class Commandspawnmob extends EssentialsCommand
IUser otherUser = null;
if (args.length >= 3)
{
- otherUser = getPlayer(args, 2);
+ otherUser = ess.getUserMap().getUser(args[2]);
}
- final Location loc = (otherUser == null) ? block.getLocation() : otherUser.getLocation();
+ final Location loc = (otherUser == null) ? block.getLocation() : otherUser.getPlayer().getLocation();
final Location sloc = LocationUtil.getSafeDestination(loc);
try
{
- spawnedMob = mob.spawn(user, server, sloc);
+ spawnedMob = user.getPlayer().getWorld().spawn(sloc, (Class<? extends LivingEntity>)mob.getEntityClass());
}
- catch (MobException e)
+ catch (Exception e)
{
throw new Exception(_("unableToSpawnMob"), e);
}
if (mountType != null)
{
- mobMount = Mob.fromName(mountType);
+ mobMount = LivingEntities.fromName(mountType);
if (mobMount == null)
{
user.sendMessage(_("invalidMob"));
return;
}
- if (!SpawnmobPermissions.getPermission(mobMount.name).isAuthorized(user))
+ if (!SpawnmobPermissions.getPermission(mobMount.getName()).isAuthorized(user))
{
throw new Exception(_("noPermToSpawnMob"));
}
try
{
- spawnedMount = mobMount.spawn(user, server, loc);
+ spawnedMount = user.getPlayer().getWorld().spawn(loc, (Class<? extends LivingEntity>)mobMount.getEntityClass());
}
- catch (MobException e)
+ catch (Exception e)
{
throw new Exception(_("unableToSpawnMob"), e);
}
@@ -127,11 +127,11 @@ public class Commandspawnmob extends EssentialsCommand
}
if (mobData != null)
{
- changeMobData(mob.getType(), spawnedMob, mobData, user);
+ changeMobData(mob, spawnedMob, mobData, user);
}
if (spawnedMount != null && mountData != null)
{
- changeMobData(mobMount.getType(), spawnedMount, mountData, user);
+ changeMobData(mobMount, spawnedMount, mountData, user);
}
if (args.length >= 2)
{
@@ -157,14 +157,14 @@ public class Commandspawnmob extends EssentialsCommand
{
for (int i = 1; i < mobCount; i++)
{
- spawnedMob = mob.spawn(user, server, loc);
+ spawnedMob = user.getPlayer().getWorld().spawn(sloc, (Class<? extends LivingEntity>)mob.getEntityClass());
if (mobMount != null)
{
try
{
- spawnedMount = mobMount.spawn(user, server, loc);
+ spawnedMount = user.getPlayer().getWorld().spawn(loc, (Class<? extends LivingEntity>)mobMount.getEntityClass());
}
- catch (MobException e)
+ catch (Exception e)
{
throw new Exception(_("unableToSpawnMob"), e);
}
@@ -172,14 +172,14 @@ public class Commandspawnmob extends EssentialsCommand
}
if (mobData != null)
{
- changeMobData(mob.getType(), spawnedMob, mobData, user);
+ changeMobData(mob, spawnedMob, mobData, user);
}
if (spawnedMount != null && mountData != null)
{
- changeMobData(mobMount.getType(), spawnedMount, mountData, user);
+ changeMobData(mobMount, spawnedMount, mountData, user);
}
}
- user.sendMessage(mobCount + " " + mob.name.toLowerCase(Locale.ENGLISH) + mob.suffix + " " + _("spawned"));
+ user.sendMessage(mobCount + " " + mob.getName().toLowerCase(Locale.ENGLISH) + " " + _("spawned"));
}
catch (MobException e1)
{
@@ -196,7 +196,7 @@ public class Commandspawnmob extends EssentialsCommand
}
else
{
- user.sendMessage(mob.name + " " + _("spawned"));
+ user.sendMessage(mob.getName() + " " + _("spawned"));
}
}
@@ -244,7 +244,7 @@ public class Commandspawnmob extends EssentialsCommand
{
final Tameable tameable = ((Tameable)spawned);
tameable.setTamed(true);
- tameable.setOwner(user.getBase());
+ tameable.setOwner(user.getPlayer());
}
if (type == EntityType.WOLF
&& data.contains("angry"))
@@ -279,21 +279,6 @@ public class Commandspawnmob extends EssentialsCommand
((Villager)spawned).setProfession(prof);
}
}
- }
- if (type == EntityType.OCELOT)
- {
- if (data.contains("siamese"))
- {
- ((Ocelot)spawned).setCatType(Ocelot.Type.SIAMESE_CAT);
- }
- if (data.contains("red"))
- {
- ((Ocelot)spawned).setCatType(Ocelot.Type.RED_CAT);
- }
- if (data.contains("black"))
- {
- ((Ocelot)spawned).setCatType(Ocelot.Type.BLACK_CAT);
- }
- }
+ }
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandspeed.java b/Essentials/src/net/ess3/commands/Commandspeed.java
new file mode 100644
index 000000000..cb20da50b
--- /dev/null
+++ b/Essentials/src/net/ess3/commands/Commandspeed.java
@@ -0,0 +1,150 @@
+package net.ess3.commands;
+
+import static net.ess3.I18n._;
+import net.ess3.api.IUser;
+import net.ess3.permissions.Permissions;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+
+public class Commandspeed extends EssentialsCommand
+{
+
+ @Override
+ protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ {
+ if (args.length < 2)
+ {
+ throw new NotEnoughArgumentsException();
+ }
+ final boolean isFly = isFlyMode(args[0]);
+ final float speed = getMoveSpeed(args[1]);
+ speedOtherPlayers(server, sender, isFly, true, speed, args[2]);
+ }
+
+ @Override
+ protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
+ {
+ if (args.length < 1)
+ {
+ throw new NotEnoughArgumentsException();
+ }
+
+ boolean isFly;
+ float speed;
+ boolean isBypass = Permissions.SPEED_BYPASS.isAuthorized(user);
+ if (args.length == 1)
+ {
+ //isFly = user.isFlying();
+ isFly = true;
+ speed = getMoveSpeed(args[0]);
+ }
+ else
+ {
+ //isFly = isFlyMode(args[0]);
+ //speed = getMoveSpeed(args[1]);
+ //if (args.length > 2 && user.isAuthorized("essentials.speed.others"))
+ //{
+ // speedOtherPlayers(server, user, isFly, isBypass, speed, args[2]);
+ // return;
+ //}
+ isFly = true;
+ speed = getMoveSpeed(args[0]);
+ if (Permissions.SPEED_OTHERS.isAuthorized(user))
+ {
+ speedOtherPlayers(server, user, isFly, isBypass, speed, args[1]);
+ return;
+ }
+ }
+
+ //if (isFly)
+ //{
+ user.getPlayer().setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass));
+ user.sendMessage(_("moveSpeed", _("flying"), speed, user.getPlayer().getDisplayName()));
+ //}
+ //else
+ //{
+ // user.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass));
+ // user.sendMessage(_("moveSpeed", _("walking"), speed, user.getDisplayName()));
+ //}
+ }
+
+ private void speedOtherPlayers(final Server server, final CommandSender sender, final boolean isFly, final boolean isBypass, final float speed, final String target)
+ {
+ for (Player matchPlayer : server.matchPlayer(target))
+ {
+ if (isFly)
+ {
+ matchPlayer.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass));
+ sender.sendMessage(_("moveSpeed", _("flying"), speed, matchPlayer.getDisplayName()));
+ }
+ //else
+ // {
+ // matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass));
+ // sender.sendMessage(_("moveSpeed", _("walking"), speed, matchPlayer.getDisplayName()));
+ // }
+ }
+ }
+
+ private boolean isFlyMode(final String modeString) throws NotEnoughArgumentsException
+ {
+ boolean isFlyMode;
+ if (modeString.contains("fly") || modeString.equalsIgnoreCase("f"))
+ {
+ isFlyMode = true;
+ }
+ else if (modeString.contains("walk") || modeString.contains("run")
+ || modeString.equalsIgnoreCase("w") || modeString.equalsIgnoreCase("r"))
+ {
+ isFlyMode = false;
+ }
+ else
+ {
+ throw new NotEnoughArgumentsException();
+ }
+ return isFlyMode;
+ }
+
+ private float getMoveSpeed(final String moveSpeed) throws NotEnoughArgumentsException
+ {
+ float userSpeed;
+ try
+ {
+ userSpeed = Float.parseFloat(moveSpeed);
+ if (userSpeed > 10f)
+ {
+ userSpeed = 10f;
+ }
+ else if (userSpeed < 0f)
+ {
+ userSpeed = 0f;
+ }
+ }
+ catch (NumberFormatException e)
+ {
+ throw new NotEnoughArgumentsException();
+ }
+ return userSpeed;
+ }
+
+ private float getRealMoveSpeed(final float userSpeed, final boolean isFly, final boolean isBypass)
+ {
+ final float defaultSpeed = isFly ? 0.1f : 0.2f;
+ float maxSpeed = 1f;
+ if (!isBypass)
+ {
+ maxSpeed = ess.getSettings().getData().getCommands().getSpeed().getMaxFlySpeed();// : ess.getSettings().ess.getSettings().getData().getCommands().getSpeed()getMaxWalkSpeed());
+ }
+
+ if (userSpeed < 1f)
+ {
+ return defaultSpeed * userSpeed;
+ }
+ else
+ {
+ float ratio = ((userSpeed - 1) / 9) * (maxSpeed - defaultSpeed);
+ return ratio + defaultSpeed;
+ }
+ }
+}
diff --git a/Essentials/src/net/ess3/commands/Commandsudo.java b/Essentials/src/net/ess3/commands/Commandsudo.java
index 84d5d9b36..58279c9ef 100644
--- a/Essentials/src/net/ess3/commands/Commandsudo.java
+++ b/Essentials/src/net/ess3/commands/Commandsudo.java
@@ -2,8 +2,9 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import net.ess3.permissions.Permissions;
+import org.bukkit.command.CommandSender;
+import org.bukkit.command.PluginCommand;
public class Commandsudo extends EssentialsCommand
@@ -29,13 +30,13 @@ public class Commandsudo extends EssentialsCommand
throw new Exception(_("sudoExempt"));
}
- sender.sendMessage(_("sudoRun", user.getDisplayName(), command, getFinalArg(arguments, 0)));
+ sender.sendMessage(_("sudoRun", user.getPlayer().getDisplayName(), command, getFinalArg(arguments, 0)));
ess.getServer().dispatchCommand(user, command);
final PluginCommand execCommand = ess.getServer().getPluginCommand(command);
if (execCommand != null)
{
- execCommand.execute(user.getBase(), command, arguments);
+ execCommand.execute(user.getPlayer(), command, arguments);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandsuicide.java b/Essentials/src/net/ess3/commands/Commandsuicide.java
index c9598ee3e..03f80bb25 100644
--- a/Essentials/src/net/ess3/commands/Commandsuicide.java
+++ b/Essentials/src/net/ess3/commands/Commandsuicide.java
@@ -9,10 +9,10 @@ public class Commandsuicide extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- ess.getPlugin().callSuicideEvent(user.getBase());
- user.damage(Short.MAX_VALUE);
+ ess.getPlugin().callSuicideEvent(user.getPlayer());
+ user.getPlayer().damage(Short.MAX_VALUE);
user.sendMessage(_("suicideMessage"));
user.setDisplayNick();
- ess.broadcastMessage(user,_("suicideSuccess", user.getDisplayName()));
+ ess.broadcastMessage(user,_("suicideSuccess", user.getPlayer().getDisplayName()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtempban.java b/Essentials/src/net/ess3/commands/Commandtempban.java
index fe3f01b1f..28febd4e6 100644
--- a/Essentials/src/net/ess3/commands/Commandtempban.java
+++ b/Essentials/src/net/ess3/commands/Commandtempban.java
@@ -2,13 +2,12 @@ package net.ess3.commands;
import net.ess3.Console;
import static net.ess3.I18n._;
-
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.Permissions;
import net.ess3.user.Ban;
import net.ess3.utils.DateUtil;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandtempban extends EssentialsCommand
@@ -46,7 +45,7 @@ public class Commandtempban extends EssentialsCommand
user.getData().getBan().setReason(banReason);
user.getData().getBan().setTimeout(banTimestamp);
user.setBanned(true);
- user.kickPlayer(banReason);
+ user.getPlayer().kickPlayer(banReason);
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
for (Player onlinePlayer : server.getOnlinePlayers())
diff --git a/Essentials/src/net/ess3/commands/Commandthunder.java b/Essentials/src/net/ess3/commands/Commandthunder.java
index 0b96ccc55..5c2c472a0 100644
--- a/Essentials/src/net/ess3/commands/Commandthunder.java
+++ b/Essentials/src/net/ess3/commands/Commandthunder.java
@@ -2,7 +2,7 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.World;
+import org.bukkit.World;
public class Commandthunder extends EssentialsCommand
@@ -15,7 +15,7 @@ public class Commandthunder extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- final World world = user.getWorld();
+ final World world = user.getPlayer().getWorld();
final boolean setThunder = args[0].equalsIgnoreCase("true");
if (args.length > 1)
{
diff --git a/Essentials/src/net/ess3/commands/Commandtime.java b/Essentials/src/net/ess3/commands/Commandtime.java
index c0ea66898..378fa511f 100644
--- a/Essentials/src/net/ess3/commands/Commandtime.java
+++ b/Essentials/src/net/ess3/commands/Commandtime.java
@@ -3,12 +3,12 @@ package net.ess3.commands;
import java.util.*;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.World;
import net.ess3.permissions.Permissions;
import net.ess3.utils.DescParseTickFormat;
import net.ess3.utils.Util;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandtime extends EssentialsCommand
@@ -129,7 +129,7 @@ public class Commandtime extends EssentialsCommand
}
else
{
- worlds.add(user.getWorld());
+ worlds.add(user.getPlayer().getWorld());
}
return worlds;
}
diff --git a/Essentials/src/net/ess3/commands/Commandtogglejail.java b/Essentials/src/net/ess3/commands/Commandtogglejail.java
index 8cd17d683..059197e93 100644
--- a/Essentials/src/net/ess3/commands/Commandtogglejail.java
+++ b/Essentials/src/net/ess3/commands/Commandtogglejail.java
@@ -1,13 +1,12 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
-
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.DateUtil;
-import lombok.Cleanup;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class Commandtogglejail extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandtop.java b/Essentials/src/net/ess3/commands/Commandtop.java
index 17edad493..cf0e7b4f1 100644
--- a/Essentials/src/net/ess3/commands/Commandtop.java
+++ b/Essentials/src/net/ess3/commands/Commandtop.java
@@ -1,10 +1,9 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
-//TODO: remove bukkit
+import net.ess3.economy.Trade;
+import org.bukkit.Location;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -13,10 +12,10 @@ public class Commandtop extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- final int topX = user.getLocation().getBlockX();
- final int topZ = user.getLocation().getBlockZ();
- final int topY = user.getWorld().getHighestBlockYAt(topX, topZ);
- user.getTeleport().teleport(new Location(user.getWorld(), user.getLocation().getX(), topY + 1, user.getLocation().getZ(), user.getLocation().getYaw(), user.getLocation().getPitch()), new Trade(commandName, ess), TeleportCause.COMMAND);
+ final int topX = user.getPlayer().getLocation().getBlockX();
+ final int topZ = user.getPlayer().getLocation().getBlockZ();
+ final int topY = user.getPlayer().getWorld().getHighestBlockYAt(topX, topZ);
+ user.getTeleport().teleport(new Location(user.getPlayer().getWorld(), user.getPlayer().getLocation().getX(), topY + 1, user.getPlayer().getLocation().getZ(), user.getPlayer().getLocation().getYaw(), user.getPlayer().getLocation().getPitch()), new Trade(commandName, ess), TeleportCause.COMMAND);
user.sendMessage(_("teleportTop"));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtp.java b/Essentials/src/net/ess3/commands/Commandtp.java
index a9b4873d6..999b220e4 100644
--- a/Essentials/src/net/ess3/commands/Commandtp.java
+++ b/Essentials/src/net/ess3/commands/Commandtp.java
@@ -5,11 +5,10 @@ import net.ess3.Console;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.WorldPermissions;
-//TODO: remove bukkit
+import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -32,17 +31,17 @@ public class Commandtp extends EssentialsCommand
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", player.getDisplayName()));
+ throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(player.getWorld().getName()).isAuthorized(user))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(player.getPlayer().getWorld().getName()).isAuthorized(user))
{
- throw new Exception(_("noPerm", "essentials.world." + player.getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + player.getPlayer().getWorld().getName()));
}
user.sendMessage(_("teleporting"));
final Trade charge = new Trade(commandName, ess);
charge.isAffordableFor(user);
- user.getTeleport().teleport(player, charge, TeleportCause.COMMAND);
+ user.getTeleport().teleport(player.getPlayer(), charge, TeleportCause.COMMAND);
throw new NoChargeException();
default:
@@ -60,19 +59,19 @@ public class Commandtp extends EssentialsCommand
if (!target.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", target.getDisplayName()));
+ throw new Exception(_("teleportDisabled", target.getPlayer().getDisplayName()));
}
if (!toPlayer.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", toPlayer.getDisplayName()));
+ throw new Exception(_("teleportDisabled", toPlayer.getPlayer().getDisplayName()));
}
- if (target.getWorld() != toPlayer.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(toPlayer.getWorld().getName()).isAuthorized(user))
+ if (target.getPlayer().getWorld() != toPlayer.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(toPlayer.getPlayer().getWorld().getName()).isAuthorized(user))
{
- throw new Exception(_("noPerm", "essentials.world." + toPlayer.getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + toPlayer.getPlayer().getWorld().getName()));
}
- target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
- target.sendMessage(_("teleportAtoB", user.getDisplayName(), toPlayer.getDisplayName()));
+ target.getTeleport().now(toPlayer.getPlayer(), false, TeleportCause.COMMAND);
+ target.sendMessage(_("teleportAtoB", user.getPlayer().getDisplayName(), toPlayer.getPlayer().getDisplayName()));
break;
}
}
@@ -86,9 +85,9 @@ public class Commandtp extends EssentialsCommand
}
sender.sendMessage(_("teleporting"));
- final IUser target = getPlayer(args, 0);
- final IUser toPlayer = getPlayer(args, 1);
- target.getTeleport().now(toPlayer, false, TeleportCause.COMMAND);
- target.sendMessage(_("teleportAtoB", Console.NAME, toPlayer.getDisplayName()));
+ final IUser target = ess.getUserMap().getUser(args[0]);
+ final IUser toPlayer =ess.getUserMap().getUser(args[1]);
+ target.getTeleport().now(toPlayer.getPlayer(), false, TeleportCause.COMMAND);
+ target.sendMessage(_("teleportAtoB", Console.NAME, toPlayer.getPlayer().getDisplayName()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtpa.java b/Essentials/src/net/ess3/commands/Commandtpa.java
index db78e27e7..7429368ea 100644
--- a/Essentials/src/net/ess3/commands/Commandtpa.java
+++ b/Essentials/src/net/ess3/commands/Commandtpa.java
@@ -22,20 +22,20 @@ public class Commandtpa extends EssentialsCommand
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", player.getDisplayName()));
+ throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
@Cleanup
ISettings settings = ess.getSettings();
settings.acquireReadLock();
- if (user.getWorld() != player.getWorld() && ess.getSettings().getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(user.getWorld().getName()).isAuthorized(user))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && ess.getSettings().getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(user.getPlayer().getWorld().getName()).isAuthorized(user))
{
- throw new Exception(_("noPerm", "essentials.world." + player.getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + player.getPlayer().getWorld().getName()));
}
if (!player.isIgnoringPlayer(user))
{
player.requestTeleport(user, false);
- player.sendMessage(_("teleportRequest", user.getDisplayName()));
+ player.sendMessage(_("teleportRequest", user.getPlayer().getDisplayName()));
player.sendMessage(_("typeTpaccept"));
player.sendMessage(_("typeTpdeny"));
int tpaAcceptCancellation = 0;
@@ -45,6 +45,6 @@ public class Commandtpa extends EssentialsCommand
player.sendMessage(_("teleportRequestTimeoutInfo", tpaAcceptCancellation));
}
}
- user.sendMessage(_("requestSent", player.getDisplayName()));
+ user.sendMessage(_("requestSent", player.getPlayer().getDisplayName()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtpaall.java b/Essentials/src/net/ess3/commands/Commandtpaall.java
index 79bc2a5fd..a510690a7 100644
--- a/Essentials/src/net/ess3/commands/Commandtpaall.java
+++ b/Essentials/src/net/ess3/commands/Commandtpaall.java
@@ -4,9 +4,9 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.WorldPermissions;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class Commandtpaall extends EssentialsCommand
@@ -47,15 +47,15 @@ public class Commandtpaall extends EssentialsCommand
@Cleanup
ISettings settings = ess.getSettings();
settings.acquireReadLock();
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(user.getWorld().getName()).isAuthorized(user))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(user.getPlayer().getWorld().getName()).isAuthorized(user))
{
continue;
}
try
{
player.requestTeleport(user, true);
- player.sendMessage(_("teleportHereRequest", user.getDisplayName()));
+ player.sendMessage(_("teleportHereRequest", user.getPlayer().getDisplayName()));
player.sendMessage(_("typeTpaccept"));
int tpaAcceptCancellation = 0;
tpaAcceptCancellation = settings.getData().getCommands().getTpa().getTimeout();
diff --git a/Essentials/src/net/ess3/commands/Commandtpaccept.java b/Essentials/src/net/ess3/commands/Commandtpaccept.java
index 0d758df7f..59b909958 100644
--- a/Essentials/src/net/ess3/commands/Commandtpaccept.java
+++ b/Essentials/src/net/ess3/commands/Commandtpaccept.java
@@ -1,11 +1,10 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
+import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
-//TODO: remove bukkit
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -22,8 +21,8 @@ public class Commandtpaccept extends EssentialsCommand
final IUser target = user.getTeleportRequester();
if (target == null
|| !target.isOnline()
- || (user.isTeleportRequestHere() && !Permissions.TPAHERE.isAuthorized(target))
- || (!user.isTeleportRequestHere() && !Permissions.TPA.isAuthorized(target) && !Permissions.TPAALL.isAuthorized(target)))
+ || (user.isTpRequestHere() && !Permissions.TPAHERE.isAuthorized(target))
+ || (!user.isTpRequestHere() && !Permissions.TPA.isAuthorized(target) && !Permissions.TPAALL.isAuthorized(target)))
{
throw new Exception(_("noPendingRequest"));
}
@@ -52,7 +51,7 @@ public class Commandtpaccept extends EssentialsCommand
}
final Trade charge = new Trade(commandName, ess);
- if (user.isTeleportRequestHere())
+ if (user.isTpRequestHere())
{
charge.isAffordableFor(user);
}
@@ -61,15 +60,15 @@ public class Commandtpaccept extends EssentialsCommand
charge.isAffordableFor(target);
}
user.sendMessage(_("requestAccepted"));
- target.sendMessage(_("requestAcceptedFrom", user.getDisplayName()));
+ target.sendMessage(_("requestAcceptedFrom", user.getPlayer().getDisplayName()));
- if (user.isTeleportRequestHere())
+ if (user.isTpRequestHere())
{
- user.getTeleport().teleport(target, charge, TeleportCause.COMMAND);
+ user.getTeleport().teleport(target.getPlayer(), charge, TeleportCause.COMMAND);
}
else
{
- target.getTeleport().teleport(user, charge, TeleportCause.COMMAND);
+ target.getTeleport().teleport(user.getPlayer(), charge, TeleportCause.COMMAND);
}
user.requestTeleport(null, false);
}
diff --git a/Essentials/src/net/ess3/commands/Commandtpahere.java b/Essentials/src/net/ess3/commands/Commandtpahere.java
index 6ae1c036a..f29c784a4 100644
--- a/Essentials/src/net/ess3/commands/Commandtpahere.java
+++ b/Essentials/src/net/ess3/commands/Commandtpahere.java
@@ -22,18 +22,18 @@ public class Commandtpahere extends EssentialsCommand
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", player.getDisplayName()));
+ throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
@Cleanup
ISettings settings = ess.getSettings();
settings.acquireReadLock();
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(user.getWorld().getName()).isAuthorized(user))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(user.getPlayer().getWorld().getName()).isAuthorized(user))
{
- throw new Exception(_("noPerm", "essentials.world." + user.getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + user.getPlayer().getWorld().getName()));
}
player.requestTeleport(user, true);
- player.sendMessage(_("teleportHereRequest", user.getDisplayName()));
+ player.sendMessage(_("teleportHereRequest", user.getPlayer().getDisplayName()));
player.sendMessage(_("typeTpaccept"));
int tpaAcceptCancellation = 0;
{
@@ -43,6 +43,6 @@ public class Commandtpahere extends EssentialsCommand
{
player.sendMessage(_("teleportRequestTimeoutInfo", tpaAcceptCancellation));
}
- user.sendMessage(_("requestSent", player.getDisplayName()));
+ user.sendMessage(_("requestSent", player.getPlayer().getDisplayName()));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtpall.java b/Essentials/src/net/ess3/commands/Commandtpall.java
index 107db6bcd..aea8b1403 100644
--- a/Essentials/src/net/ess3/commands/Commandtpall.java
+++ b/Essentials/src/net/ess3/commands/Commandtpall.java
@@ -4,10 +4,9 @@ import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import net.ess3.permissions.WorldPermissions;
-//TODO: remove bukkit
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -44,14 +43,14 @@ public class Commandtpall extends EssentialsCommand
ISettings settings = ess.getSettings();
settings.acquireReadLock();
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(user.getWorld().getName()).isAuthorized(user))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(user.getPlayer().getWorld().getName()).isAuthorized(user))
{
continue;
}
try
{
- player.getTeleport().now(user, false, TeleportCause.COMMAND);
+ player.getTeleport().now(user.getPlayer(), false, TeleportCause.COMMAND);
}
catch (Exception ex)
{
diff --git a/Essentials/src/net/ess3/commands/Commandtpdeny.java b/Essentials/src/net/ess3/commands/Commandtpdeny.java
index e7744939b..a494dc866 100644
--- a/Essentials/src/net/ess3/commands/Commandtpdeny.java
+++ b/Essentials/src/net/ess3/commands/Commandtpdeny.java
@@ -16,7 +16,7 @@ public class Commandtpdeny extends EssentialsCommand
}
user.sendMessage(_("requestDenied"));
- player.sendMessage(_("requestDeniedFrom", user.getDisplayName()));
+ player.sendMessage(_("requestDeniedFrom", user.getPlayer().getDisplayName()));
user.requestTeleport(null, false);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandtphere.java b/Essentials/src/net/ess3/commands/Commandtphere.java
index 7b26f53d4..31af0192e 100644
--- a/Essentials/src/net/ess3/commands/Commandtphere.java
+++ b/Essentials/src/net/ess3/commands/Commandtphere.java
@@ -1,10 +1,9 @@
package net.ess3.commands;
+import lombok.Cleanup;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
-import lombok.Cleanup;
-//TODO: remove bukkit
+import net.ess3.economy.Trade;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -18,9 +17,9 @@ public class Commandtphere extends EssentialsCommand
player.acquireReadLock();
if (!player.getData().isTeleportEnabled())
{
- throw new Exception(_("teleportDisabled", player.getDisplayName()));
+ throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
- player.getTeleport().teleport(user, new Trade(commandName, ess), TeleportCause.COMMAND);
+ player.getTeleport().teleport(user.getPlayer(), new Trade(commandName, ess), TeleportCause.COMMAND);
user.sendMessage(_("teleporting"));
player.sendMessage(_("teleporting"));
throw new NoChargeException();
diff --git a/Essentials/src/net/ess3/commands/Commandtpo.java b/Essentials/src/net/ess3/commands/Commandtpo.java
index 8cef5bb81..ae6a9d5c4 100644
--- a/Essentials/src/net/ess3/commands/Commandtpo.java
+++ b/Essentials/src/net/ess3/commands/Commandtpo.java
@@ -3,7 +3,6 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
-//TODO: remove bukkit
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -28,7 +27,7 @@ public class Commandtpo extends EssentialsCommand
// Verify permission
if (!player.isHidden() || Permissions.TELEPORT_HIDDEN.isAuthorized(user))
{
- user.getTeleport().now(player, false, TeleportCause.COMMAND);
+ user.getTeleport().now(player.getPlayer(), false, TeleportCause.COMMAND);
user.sendMessage(_("teleporting"));
}
else
diff --git a/Essentials/src/net/ess3/commands/Commandtpohere.java b/Essentials/src/net/ess3/commands/Commandtpohere.java
index d58384144..6b198df4f 100644
--- a/Essentials/src/net/ess3/commands/Commandtpohere.java
+++ b/Essentials/src/net/ess3/commands/Commandtpohere.java
@@ -6,7 +6,6 @@ import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.WorldPermissions;
-//TODO: remove buikkit
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -32,17 +31,17 @@ public class Commandtpohere extends EssentialsCommand
ISettings settings = ess.getSettings();
settings.acquireReadLock();
//todo - common method
- if (user.getWorld() != player.getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
- && !WorldPermissions.getPermission(user.getWorld().getName()).isAuthorized(player))
+ if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions()
+ && !WorldPermissions.getPermission(user.getPlayer().getWorld().getName()).isAuthorized(player))
{
- throw new Exception(_("noPerm", "essentials.world." + user.getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + user.getPlayer().getWorld().getName()));
}
// Verify permission
if (!player.isHidden() || Permissions.TELEPORT_HIDDEN.isAuthorized(user))
{
- player.getTeleport().now(user, false, TeleportCause.COMMAND);
+ player.getTeleport().now(user.getPlayer(), false, TeleportCause.COMMAND);
user.sendMessage(_("teleporting"));
}
else
diff --git a/Essentials/src/net/ess3/commands/Commandtppos.java b/Essentials/src/net/ess3/commands/Commandtppos.java
index 3cf658f71..72c16d415 100644
--- a/Essentials/src/net/ess3/commands/Commandtppos.java
+++ b/Essentials/src/net/ess3/commands/Commandtppos.java
@@ -2,10 +2,9 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Location;
import net.ess3.economy.Trade;
-//TODO: remove bukkit
+import org.bukkit.Location;
+import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -22,7 +21,7 @@ public class Commandtppos extends EssentialsCommand
final int x = Integer.parseInt(args[0]);
final int y = Integer.parseInt(args[1]);
final int z = Integer.parseInt(args[2]);
- final Location location = new Location(user.getWorld(), x, y, z);
+ final Location location = new Location(user.getPlayer().getWorld(), x, y, z);
if (args.length > 3)
{
location.setYaw((Float.parseFloat(args[3]) + 180 + 360) % 360);
@@ -50,7 +49,7 @@ public class Commandtppos extends EssentialsCommand
final int x = Integer.parseInt(args[1]);
final int y = Integer.parseInt(args[2]);
final int z = Integer.parseInt(args[3]);
- final Location location = new Location(user.getWorld(), x, y, z);
+ final Location location = new Location(user.getPlayer().getWorld(), x, y, z);
if (args.length > 4)
{
location.setYaw((Float.parseFloat(args[4]) + 180 + 360) % 360);
diff --git a/Essentials/src/net/ess3/commands/Commandtree.java b/Essentials/src/net/ess3/commands/Commandtree.java
index b1dc68139..435b37103 100644
--- a/Essentials/src/net/ess3/commands/Commandtree.java
+++ b/Essentials/src/net/ess3/commands/Commandtree.java
@@ -2,9 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.Location;
import net.ess3.utils.LocationUtil;
-//TODO: remove bukkit
+import org.bukkit.Location;
import org.bukkit.TreeType;
@@ -55,9 +54,9 @@ public class Commandtree extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- final Location loc = LocationUtil.getTarget(user);
+ final Location loc = LocationUtil.getTarget(user.getPlayer());
final Location safeLocation = LocationUtil.getSafeDestination(loc);
- final boolean success = user.getWorld().generateTree(safeLocation, tree);
+ final boolean success = user.getPlayer().getWorld().generateTree(safeLocation, tree);
if (success)
{
user.sendMessage(_("treeSpawned"));
diff --git a/Essentials/src/net/ess3/commands/Commandunban.java b/Essentials/src/net/ess3/commands/Commandunban.java
index 75d9081bd..9144887d3 100644
--- a/Essentials/src/net/ess3/commands/Commandunban.java
+++ b/Essentials/src/net/ess3/commands/Commandunban.java
@@ -3,7 +3,7 @@ package net.ess3.commands;
import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class Commandunban extends EssentialsCommand
@@ -16,18 +16,11 @@ public class Commandunban extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- try
- {
- @Cleanup
- final IUser player = ess.getUserMap().matchUser(args[0], false, true);
- player.acquireWriteLock();
- player.getData().setBan(null);
- player.setBanned(false);
- sender.sendMessage(_("unbannedPlayer"));
- }
- catch (NoSuchFieldException e)
- {
- throw new Exception(_("playerNotFound"), e);
- }
+ @Cleanup
+ final IUser player = ess.getUserMap().matchUser(args[0], false, true);
+ player.acquireWriteLock();
+ player.getData().setBan(null);
+ player.setBanned(false);
+ sender.sendMessage(_("unbannedPlayer"));
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandunbanip.java b/Essentials/src/net/ess3/commands/Commandunbanip.java
index 7243eb370..2feaa2e5a 100644
--- a/Essentials/src/net/ess3/commands/Commandunbanip.java
+++ b/Essentials/src/net/ess3/commands/Commandunbanip.java
@@ -3,7 +3,7 @@ package net.ess3.commands;
import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class Commandunbanip extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandunlimited.java b/Essentials/src/net/ess3/commands/Commandunlimited.java
index 9f182a6a7..f85534ea6 100644
--- a/Essentials/src/net/ess3/commands/Commandunlimited.java
+++ b/Essentials/src/net/ess3/commands/Commandunlimited.java
@@ -1,14 +1,15 @@
package net.ess3.commands;
+import java.util.Locale;
+import java.util.Set;
+import lombok.Cleanup;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
+import net.ess3.craftbukkit.InventoryWorkaround;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.UnlimitedItemPermissions;
-import java.util.Locale;
-import java.util.Set;
-import lombok.Cleanup;
+import org.bukkit.Material;
+import org.bukkit.inventory.ItemStack;
public class Commandunlimited extends EssentialsCommand
@@ -39,10 +40,10 @@ public class Commandunlimited extends EssentialsCommand
{
//TODO: Fix this, the clear should always work, even when the player does not have permission.
final Set<Material> itemList = target.getData().getUnlimited();
- for(Material mat : itemList)
+ for (Material mat : itemList)
{
- toggleUnlimited(user, target, mat.getName());
-
+ toggleUnlimited(user, target, mat.toString());
+
}
}
else
@@ -68,7 +69,7 @@ public class Commandunlimited extends EssentialsCommand
output.append(", ");
}
first = false;
- final String matname = mater.getName().toLowerCase(Locale.ENGLISH).replace("_", "");
+ final String matname = mater.toString().toLowerCase(Locale.ENGLISH).replace("_", "");
output.append(matname);
}
@@ -92,17 +93,17 @@ public class Commandunlimited extends EssentialsCommand
{
message = "enableUnlimited";
enableUnlimited = true;
- if (!target.getInventory().containsItem(true, true, stack))
+ if (!InventoryWorkaround.containsItem(target.getPlayer().getInventory(), true, true, stack))
{
- target.getInventory().addItem(stack);
+ InventoryWorkaround.addItem(target.getPlayer().getInventory(), false, stack);
}
}
if (user != target)
{
- user.sendMessage(_(message, itemname, target.getDisplayName()));
+ user.sendMessage(_(message, itemname, target.getPlayer().getDisplayName()));
}
- target.sendMessage(_(message, itemname, target.getDisplayName()));
+ target.sendMessage(_(message, itemname, target.getPlayer().getDisplayName()));
target.acquireWriteLock();
target.getData().setUnlimited(stack.getType(), enableUnlimited);
diff --git a/Essentials/src/net/ess3/commands/Commandwarp.java b/Essentials/src/net/ess3/commands/Commandwarp.java
index ff5e0af99..fcf2e5fac 100644
--- a/Essentials/src/net/ess3/commands/Commandwarp.java
+++ b/Essentials/src/net/ess3/commands/Commandwarp.java
@@ -1,18 +1,17 @@
package net.ess3.commands;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
-import net.ess3.utils.Util;
import net.ess3.api.IUser;
import net.ess3.api.IWarps;
+import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import net.ess3.permissions.WarpPermissions;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-//TODO: remove bukkit
-import net.ess3.api.server.CommandSender;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
diff --git a/Essentials/src/net/ess3/commands/Commandweather.java b/Essentials/src/net/ess3/commands/Commandweather.java
index 7ed487873..66931b2a5 100644
--- a/Essentials/src/net/ess3/commands/Commandweather.java
+++ b/Essentials/src/net/ess3/commands/Commandweather.java
@@ -2,8 +2,8 @@ package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.World;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
public class Commandweather extends EssentialsCommand
@@ -18,7 +18,7 @@ public class Commandweather extends EssentialsCommand
}
final boolean isStorm = args[0].equalsIgnoreCase("storm");
- final World world = user.getWorld();
+ final World world = user.getPlayer().getWorld();
if (args.length > 1)
{
diff --git a/Essentials/src/net/ess3/commands/Commandwhois.java b/Essentials/src/net/ess3/commands/Commandwhois.java
index dee99fdc7..1b4d8fae4 100644
--- a/Essentials/src/net/ess3/commands/Commandwhois.java
+++ b/Essentials/src/net/ess3/commands/Commandwhois.java
@@ -1,7 +1,5 @@
package net.ess3.commands;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
import java.util.Locale;
import lombok.Cleanup;
import static net.ess3.I18n._;
@@ -11,7 +9,10 @@ import net.ess3.craftbukkit.SetExpFix;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData;
import net.ess3.utils.DateUtil;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
@@ -25,7 +26,7 @@ public class Commandwhois extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
boolean showhidden = false;
- if (sender instanceof Player)
+ if (sender instanceof IUser)
{
if (Permissions.LIST_HIDDEN.isAuthorized(sender))
{
@@ -40,19 +41,19 @@ public class Commandwhois extends EssentialsCommand
@Cleanup
ISettings settings = ess.getSettings();
settings.acquireReadLock();
- final int prefixLength = Util.stripColor(settings.getData().getChat().getNicknamePrefix()).length();
+ final int prefixLength = FormatUtil.stripColor(settings.getData().getChat().getNicknamePrefix()).length();
boolean foundPlayer = false;
for (Player onlinePlayer : server.getOnlinePlayers())
{
@Cleanup
- final IUser user = onlinePlayer.getUser();
+ final IUser user = ess.getUserMap().getUser(onlinePlayer);
if (user.isHidden() && !showhidden)
{
continue;
}
user.acquireReadLock();
- final String nickName = Util.stripFormat(user.getData().getNickname());
+ final String nickName = FormatUtil.stripFormat(user.getData().getNickname());
if (!whois.equalsIgnoreCase(nickName)
&& !whois.substring(prefixLength).equalsIgnoreCase(nickName)
&& !whois.equalsIgnoreCase(user.getName()))
@@ -62,22 +63,22 @@ public class Commandwhois extends EssentialsCommand
foundPlayer = true;
sender.sendMessage(_("whoisTop", user.getName()));
user.setDisplayNick();
- sender.sendMessage(_("whoisIs", user.getDisplayName(), user.getName()));
- sender.sendMessage(_("whoisHealth", user.getHealth()));
- sender.sendMessage(_("whoisExp", SetExpFix.getTotalExperience(user), user.getLevel()));
- sender.sendMessage(_("whoisLocation", user.getLocation().getWorld().getName(), user.getLocation().getBlockX(), user.getLocation().getBlockY(), user.getLocation().getBlockZ()));
- sender.sendMessage(_("whoisMoney", Util.displayCurrency(user.getMoney(), ess)));
- sender.sendMessage(_("whoisIPAddress", user.getAddress().getAddress().toString()));
+ sender.sendMessage(_("whoisIs", user.getPlayer().getDisplayName(), user.getName()));
+ sender.sendMessage(_("whoisHealth", user.getPlayer().getHealth()));
+ sender.sendMessage(_("whoisExp", SetExpFix.getTotalExperience(user.getPlayer()), user.getPlayer().getLevel()));
+ sender.sendMessage(_("whoisLocation", user.getPlayer().getLocation().getWorld().getName(), user.getPlayer().getLocation().getBlockX(), user.getPlayer().getLocation().getBlockY(), user.getPlayer().getLocation().getBlockZ()));
+ sender.sendMessage(_("whoisMoney", FormatUtil.displayCurrency(user.getMoney(), ess)));
+ sender.sendMessage(_("whoisIPAddress", user.getPlayer().getAddress().getAddress().toString()));
final String location = user.getData().getGeolocation();
if (location != null
&& Permissions.GEOIP_SHOW.isAuthorized(sender))
{
sender.sendMessage(_("whoisGeoLocation", location));
}
- sender.sendMessage(_("whoisGamemode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH))));
+ sender.sendMessage(_("whoisGamemode", _(user.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH))));
sender.sendMessage(_("whoisGod", (user.isGodModeEnabled() ? _("true") : _("false"))));
sender.sendMessage(_("whoisOP", (user.isOp() ? _("true") : _("false"))));
- sender.sendMessage(_("whoisFly", user.getAllowFlight() ? _("true") : _("false"), user.isFlying() ? _("flying") : _("notFlying")));
+ sender.sendMessage(_("whoisFly", user.getPlayer().getAllowFlight() ? _("true") : _("false"), user.getPlayer().isFlying() ? _("flying") : _("notFlying")));
sender.sendMessage(_("whoisAFK", (user.getData().isAfk() ? _("true") : _("false"))));
sender.sendMessage(_("whoisJail", (user.getData().isJailed()
? user.getTimestamp(UserData.TimestampType.JAIL) > 0
diff --git a/Essentials/src/net/ess3/commands/Commandworkbench.java b/Essentials/src/net/ess3/commands/Commandworkbench.java
index 8c54b172f..c107dfc80 100644
--- a/Essentials/src/net/ess3/commands/Commandworkbench.java
+++ b/Essentials/src/net/ess3/commands/Commandworkbench.java
@@ -1,20 +1,13 @@
package net.ess3.commands;
-import net.ess3.api.server.Server;
-import net.ess3.user.User;
+import net.ess3.api.IUser;
public class Commandworkbench extends EssentialsCommand
{
- public Commandworkbench()
- {
- super("workbench");
- }
-
-
@Override
- public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
+ public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- user.openWorkbench(null, true);
+ user.getPlayer().openWorkbench(null, true);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandworld.java b/Essentials/src/net/ess3/commands/Commandworld.java
index 4d8b1420f..d67af9e66 100644
--- a/Essentials/src/net/ess3/commands/Commandworld.java
+++ b/Essentials/src/net/ess3/commands/Commandworld.java
@@ -1,13 +1,12 @@
package net.ess3.commands;
+import java.util.List;
import static net.ess3.I18n._;
-import net.ess3.economy.Trade;
import net.ess3.api.IUser;
-import net.ess3.api.server.World;
-import net.ess3.api.server.Location;
+import net.ess3.economy.Trade;
import net.ess3.permissions.WorldPermissions;
-import java.util.List;
-//TODO: remove bukkit
+import org.bukkit.Location;
+import org.bukkit.World;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -36,7 +35,7 @@ public class Commandworld extends EssentialsCommand
{
return;
}
- world = user.getWorld() == nether ? worlds.get(0) : nether;
+ world = user.getPlayer().getWorld() == nether ? worlds.get(0) : nether;
}
else
{
@@ -58,11 +57,11 @@ public class Commandworld extends EssentialsCommand
}
double factor;
- if (user.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL)
+ if (user.getPlayer().getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL)
{
factor = 8.0;
}
- else if (user.getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER)
+ else if (user.getPlayer().getWorld().getEnvironment() == World.Environment.NORMAL && world.getEnvironment() == World.Environment.NETHER)
{
factor = 1.0 / 8.0;
}
@@ -71,8 +70,8 @@ public class Commandworld extends EssentialsCommand
factor = 1.0;
}
- final Location loc = user.getLocation();
- final Location target = Location.create(world, loc.getBlockX() * factor + .5, loc.getBlockY(), loc.getBlockZ() * factor + .5);
+ final Location loc = user.getPlayer().getLocation();
+ final Location target = new Location(world, loc.getBlockX() * factor + .5, loc.getBlockY(), loc.getBlockZ() * factor + .5);
final Trade charge = new Trade(commandName, ess);
charge.isAffordableFor(user);
diff --git a/Essentials/src/net/ess3/commands/Commandworth.java b/Essentials/src/net/ess3/commands/Commandworth.java
index deda51c6c..bfcb81d81 100644
--- a/Essentials/src/net/ess3/commands/Commandworth.java
+++ b/Essentials/src/net/ess3/commands/Commandworth.java
@@ -1,11 +1,12 @@
package net.ess3.commands;
+import java.util.Locale;
import static net.ess3.I18n._;
-import net.ess3.utils.Util;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import java.util.Locale;
-import net.ess3.api.server.CommandSender;
+import net.ess3.utils.FormatUtil;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.inventory.ItemStack;
public class Commandworth extends EssentialsCommand
@@ -14,7 +15,7 @@ public class Commandworth extends EssentialsCommand
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- ItemStack iStack = user.getItemInHand();
+ ItemStack iStack = user.getPlayer().getItemInHand();
int amount = iStack.getAmount();
if (args.length > 0)
@@ -45,14 +46,14 @@ public class Commandworth extends EssentialsCommand
? _("worthMeta",
iStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""),
iStack.getDurability(),
- Util.displayCurrency(worth * amount, ess),
+ FormatUtil.displayCurrency(worth * amount, ess),
amount,
- Util.displayCurrency(worth, ess))
+ FormatUtil.displayCurrency(worth, ess))
: _("worth",
iStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""),
- Util.displayCurrency(worth * amount, ess),
+ FormatUtil.displayCurrency(worth * amount, ess),
amount,
- Util.displayCurrency(worth, ess)));
+ FormatUtil.displayCurrency(worth, ess)));
}
@Override
@@ -89,14 +90,14 @@ public class Commandworth extends EssentialsCommand
? _("worthMeta",
iStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""),
iStack.getDurability(),
- Util.displayCurrency(worth * amount, ess),
+ FormatUtil.displayCurrency(worth * amount, ess),
amount,
- Util.displayCurrency(worth, ess))
+ FormatUtil.displayCurrency(worth, ess))
: _("worth",
iStack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""),
- Util.displayCurrency(worth * amount, ess),
+ FormatUtil.displayCurrency(worth * amount, ess),
amount,
- Util.displayCurrency(worth, ess)));
+ FormatUtil.displayCurrency(worth, ess)));
}
}
diff --git a/Essentials/src/net/ess3/commands/EssentialsCommand.java b/Essentials/src/net/ess3/commands/EssentialsCommand.java
index 6afd42f01..fb7c407b8 100644
--- a/Essentials/src/net/ess3/commands/EssentialsCommand.java
+++ b/Essentials/src/net/ess3/commands/EssentialsCommand.java
@@ -1,17 +1,16 @@
package net.ess3.commands;
+import java.util.logging.Logger;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IEssentialsModule;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.Player;
import net.ess3.economy.Trade;
import net.ess3.permissions.AbstractSuperpermsPermission;
-import java.util.List;
-import java.util.logging.Logger;
+import org.bukkit.Server;
import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public abstract class EssentialsCommand extends AbstractSuperpermsPermission implements IEssentialsCommand
@@ -127,4 +126,39 @@ public abstract class EssentialsCommand extends AbstractSuperpermsPermission imp
{
return permission;
}
+
+ protected boolean isUser(CommandSender sender) {
+ return sender instanceof IUser;
+ }
+
+ /**
+ * Converts a CommandSender object to an User.
+ *
+ * @param sender
+ * @return
+ * @throws IllegalArgumentException if the object is neither a superclass of IUser or Player
+ */
+ protected IUser getUser(CommandSender sender) {
+ if (sender instanceof IUser) {
+ return (IUser)sender;
+ }
+ if (sender instanceof Player) {
+ return ess.getUserMap().getUser((Player)sender);
+ }
+ throw new IllegalArgumentException();
+ }
+
+ /**
+ * Converts a CommandSender object to an User.
+ *
+ * @param sender
+ * @return
+ * @throws IllegalArgumentException if the object is not a superclass of IUser
+ */
+ protected Player getPlayer(CommandSender sender) {
+ if (sender instanceof IUser) {
+ return ((IUser)sender).getPlayer();
+ }
+ throw new IllegalArgumentException();
+ }
}
diff --git a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
index 3d026d5c1..231f7b756 100644
--- a/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
+++ b/Essentials/src/net/ess3/commands/EssentialsCommandHandler.java
@@ -5,14 +5,14 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import static net.ess3.I18n._;
import net.ess3.api.*;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Plugin;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.command.PluginCommandYamlParser;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
public class EssentialsCommandHandler implements ICommandHandler
@@ -101,13 +101,6 @@ public class EssentialsCommandHandler implements ICommandHandler
try
{
- IUser user = null;
- if (sender instanceof Player)
- {
- user = ((Player)sender).getUser();
- LOGGER.log(Level.INFO, String.format("[PLAYER_COMMAND] %s: /%s %s ", ((Player)sender).getName(), commandLabel, EssentialsCommand.getFinalArg(args, 0)));
- }
-
// Check for disabled commands
if (disabled)
{
@@ -136,10 +129,17 @@ public class EssentialsCommandHandler implements ICommandHandler
// Check authorization
if (sender != null && !cmd.isAuthorized(sender))
{
- LOGGER.log(Level.WARNING, _("deniedAccessCommand", user.getName()));
- user.sendMessage(_("noAccessCommand"));
+ LOGGER.log(Level.WARNING, _("deniedAccessCommand", sender.getName()));
+ sender.sendMessage(_("noAccessCommand"));
return true;
}
+
+ IUser user = null;
+ if (sender instanceof Player)
+ {
+ user = ess.getUserMap().getUser((Player)sender);
+ LOGGER.log(Level.INFO, String.format("[PLAYER_COMMAND] %s: /%s %s ", ((Player)sender).getName(), commandLabel, EssentialsCommand.getFinalArg(args, 0)));
+ }
// Run the command
try
@@ -151,6 +151,7 @@ public class EssentialsCommandHandler implements ICommandHandler
else
{
user.acquireReadLock();
+ user.setPlayerCache((Player)sender);
try
{
cmd.run(user, command, commandLabel, args);
diff --git a/Essentials/src/net/ess3/commands/IEssentialsCommand.java b/Essentials/src/net/ess3/commands/IEssentialsCommand.java
index 2466b4c55..34f1ba020 100644
--- a/Essentials/src/net/ess3/commands/IEssentialsCommand.java
+++ b/Essentials/src/net/ess3/commands/IEssentialsCommand.java
@@ -4,8 +4,8 @@ import net.ess3.api.IEssentials;
import net.ess3.api.IEssentialsModule;
import net.ess3.api.IPermission;
import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
public interface IEssentialsCommand extends IPermission
diff --git a/Essentials/src/net/ess3/craftbukkit/SetExpFix.java b/Essentials/src/net/ess3/craftbukkit/SetExpFix.java
index 90962bfcb..54f6792e9 100644
--- a/Essentials/src/net/ess3/craftbukkit/SetExpFix.java
+++ b/Essentials/src/net/ess3/craftbukkit/SetExpFix.java
@@ -1,11 +1,13 @@
package net.ess3.craftbukkit;
+import org.bukkit.entity.Player;
+
public class SetExpFix
{
//This method is used to update both the recorded total experience and displayed total experience.
//We reset both types to prevent issues.
- public static void setTotalExperience(final IPlayer player, final int exp)
+ public static void setTotalExperience(final Player player, final int exp)
{
if (exp < 0)
{
@@ -14,13 +16,13 @@ public class SetExpFix
player.setExp(0);
player.setLevel(0);
player.setTotalExperience(0);
-
+
//This following code is technically redundant now, as bukkit now calulcates levels more or less correctly
//At larger numbers however... player.getExp(3000), only seems to give 2999, putting the below calculations off.
int amount = exp;
while (amount > 0)
{
- final int expToLevel = getExpToLevel(player);
+ final int expToLevel = getExpAtLevel(player);
amount -= expToLevel;
if (amount >= 0)
{
@@ -37,27 +39,56 @@ public class SetExpFix
}
}
- private static int getExpToLevel(final IPlayer player)
- {
- return getExpToLevel(player.getLevel());
+ private static int getExpAtLevel(final Player player)
+ {
+ return getExpAtLevel(player.getLevel());
}
-
- private static int getExpToLevel(final int level)
- {
- return 7 + (level * 7 >> 1);
+
+ public static int getExpAtLevel(final int level)
+ {
+ if (level > 29)
+ {
+ return 62 + (level - 30) * 7;
+ }
+ if (level > 15)
+ {
+ return 17 + (level - 15) * 3;
+ }
+ return 17;
}
+ public static int getExpToLevel(final int level)
+ {
+ int currentLevel = 0;
+ int exp = 0;
+
+ while (currentLevel < level)
+ {
+ exp += getExpAtLevel(currentLevel);
+ currentLevel++;
+ }
+ return exp;
+ }
+
//This method is required because the bukkit player.getTotalExperience() method, shows exp that has been 'spent'.
//Without this people would be able to use exp and then still sell it.
- public static int getTotalExperience(final IPlayer player)
+ public static int getTotalExperience(final Player player)
{
- int exp = (int)Math.round(getExpToLevel(player) * player.getExp());
+ int exp = (int)Math.round(getExpAtLevel(player) * player.getExp());
int currentLevel = player.getLevel();
-
- while (currentLevel > 0) {
+
+ while (currentLevel > 0)
+ {
currentLevel--;
- exp += getExpToLevel(currentLevel);
+ exp += getExpAtLevel(currentLevel);
}
return exp;
}
+
+ public static int getExpUntilNextLevel(final Player player)
+ {
+ int exp = (int)Math.round(getExpAtLevel(player) * player.getExp());
+ int nextLevel = player.getLevel();
+ return getExpAtLevel(nextLevel) - exp;
+ }
}
diff --git a/Essentials/src/net/ess3/economy/Economy.java b/Essentials/src/net/ess3/economy/Economy.java
index cfd1f899e..0eef9e99a 100644
--- a/Essentials/src/net/ess3/economy/Economy.java
+++ b/Essentials/src/net/ess3/economy/Economy.java
@@ -5,6 +5,7 @@ import java.util.Locale;
import java.util.Map;
import net.ess3.api.*;
import net.ess3.permissions.Permissions;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
@@ -123,7 +124,7 @@ public class Economy implements IEconomy
@Override
public String format(double amount)
{
- return Util.displayCurrency(amount, ess);
+ return FormatUtil.displayCurrency(amount, ess);
}
@Override
diff --git a/Essentials/src/net/ess3/economy/Trade.java b/Essentials/src/net/ess3/economy/Trade.java
index 5dc5322e8..57ea5c268 100644
--- a/Essentials/src/net/ess3/economy/Trade.java
+++ b/Essentials/src/net/ess3/economy/Trade.java
@@ -15,11 +15,11 @@ import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Location;
+import net.ess3.craftbukkit.InventoryWorkaround;
import net.ess3.permissions.NoCommandCostPermissions;
import net.ess3.permissions.Permissions;
-
+import org.bukkit.Location;
+import org.bukkit.inventory.ItemStack;
public class Trade
@@ -77,7 +77,7 @@ public class Trade
}
if (getItemStack() != null
- && !user.getInventory().containsItem(true, true, itemStack))
+ && InventoryWorkaround.containsItem(user.getPlayer().getInventory(), true, true, itemStack))
{
throw new ChargeException(_("missingItems", getItemStack().getAmount(), getItemStack().getType().toString().toLowerCase(Locale.ENGLISH).replace("_", " ")));
}
@@ -95,7 +95,7 @@ public class Trade
}
if (exp != null && exp > 0
- && user.getTotalExperience() < exp)
+ && user.getPlayer().getTotalExperience() < exp)
{
throw new ChargeException(_("notEnoughExperience"));
}
@@ -117,8 +117,8 @@ public class Trade
{
if (dropItems)
{
- final Map<Integer, ItemStack> leftOver = user.getInventory().addItem(true, getItemStack());
- final Location loc = user.getLocation();
+ final Map<Integer, ItemStack> leftOver = InventoryWorkaround.addItem(user.getPlayer().getInventory(), true, getItemStack());
+ final Location loc = user.getPlayer().getLocation();
for (ItemStack dropStack : leftOver.values())
{
final int maxStackSize = dropStack.getType().getMaxStackSize();
@@ -129,25 +129,25 @@ public class Trade
{
final ItemStack stack = dropStack.clone();
stack.setAmount(maxStackSize);
- itemStacks[i] = user.getWorld().dropItem(loc, stack);
+ itemStacks[i] = user.getPlayer().getWorld().dropItem(loc, stack).getItemStack();
}
if (leftover > 0)
{
final ItemStack stack = dropStack.clone();
stack.setAmount(leftover);
- itemStacks[stacks] = user.getWorld().dropItem(loc, stack);
+ itemStacks[stacks] = user.getPlayer().getWorld().dropItem(loc, stack).getItemStack();
}
}
}
else
{
- success = user.getInventory().addAllItems(true, getItemStack());
+ success = InventoryWorkaround.addAllItems(user.getPlayer().getInventory(), true, getItemStack());
}
- user.updateInventory();
+ user.getPlayer().updateInventory();
}
if (getExperience() != null)
{
- user.setTotalExperience(user.getTotalExperience() + getExperience());
+ user.getPlayer().setTotalExperience(user.getPlayer().getTotalExperience() + getExperience());
}
return success;
}
@@ -164,12 +164,12 @@ public class Trade
}
if (getItemStack() != null)
{
- if (!user.getInventory().containsItem(true, true, itemStack))
+ if (!InventoryWorkaround.containsItem(user.getPlayer().getInventory(), true, true, itemStack))
{
throw new ChargeException(_("missingItems", getItemStack().getAmount(), getItemStack().getType().toString().toLowerCase(Locale.ENGLISH).replace("_", " ")));
}
- user.getInventory().removeItem(true, true, getItemStack());
- user.updateInventory();
+ InventoryWorkaround.removeItem(user.getPlayer().getInventory() , true, true, getItemStack());
+ user.getPlayer().updateInventory();
}
if (command != null && !command.isEmpty()
&& !NoCommandCostPermissions.getPermission(command).isAuthorized(user))
@@ -186,12 +186,12 @@ public class Trade
}
if (getExperience() != null)
{
- final int experience = user.getTotalExperience();
+ final int experience = user.getPlayer().getTotalExperience();
if (experience < getExperience() && getExperience() > 0)
{
throw new ChargeException(_("notEnoughExperience"));
}
- user.setTotalExperience(experience - getExperience());
+ user.getPlayer().setTotalExperience(experience - getExperience());
}
}
diff --git a/Essentials/src/net/ess3/economy/WorthHolder.java b/Essentials/src/net/ess3/economy/WorthHolder.java
index fbd20360c..5b1f94736 100644
--- a/Essentials/src/net/ess3/economy/WorthHolder.java
+++ b/Essentials/src/net/ess3/economy/WorthHolder.java
@@ -1,6 +1,5 @@
package net.ess3.economy;
-import net.ess3.api.server.ItemStack;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
@@ -10,6 +9,7 @@ import net.ess3.api.IWorth;
import net.ess3.storage.AsyncStorageObjectHolder;
import net.ess3.storage.EnchantmentLevel;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
diff --git a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
index 9d69aff04..2ef258fb0 100644
--- a/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsBlockListener.java
@@ -1,37 +1,44 @@
package net.ess3.listener;
+import lombok.Cleanup;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
-import net.ess3.api.ondemand.OnDemand;
-import net.ess3.api.server.Block;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.events.EventListener;
-import net.ess3.api.server.events.EventPriority;
-import net.ess3.api.server.events.EventType;
+import net.ess3.bukkit.BukkitMaterial;
+import org.bukkit.GameMode;
+import org.bukkit.block.Block;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.BlockPlaceEvent;
+import org.bukkit.inventory.ItemStack;
-public class EssentialsBlockListener extends EventListener
+
+public class EssentialsBlockListener implements Listener
{
private final transient IEssentials ess;
public EssentialsBlockListener(final IEssentials ess)
{
- super();
this.ess = ess;
- register(EventType.PLACE_BLOCK, EventPriority.LOW, true);
}
- @Override
- public boolean onBlockPlace(final Block placedBlock, final OnDemand<IUser> user)
+ @EventHandler(priority = EventPriority.LOW,ignoreCancelled=true)
+ public void onBlockPlace(final BlockPlaceEvent event)
{
- final ItemStack itemstack = placedBlock.convertToItem();
- if (placedBlock == null)
+ final Block block = event.getBlockPlaced();
+ final ItemStack itemstack = BukkitMaterial.convertBlockToItem(block.getType(), block.getData());
+ if (itemstack == null)
{
- return true;
+ return;
}
+
+ @Cleanup
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ user.acquireReadLock();
- final boolean unlimitedForUser = user.get().getData().hasUnlimited(itemstack.getType());
- if (unlimitedForUser && user.get().isInSurvivalMode())
+ final boolean unlimitedForUser = user.getData().hasUnlimited(itemstack.getType());
+ if (unlimitedForUser && user.getPlayer().getGameMode() != GameMode.CREATIVE)
{
ess.getPlugin().scheduleSyncDelayedTask(
new Runnable()
@@ -39,11 +46,10 @@ public class EssentialsBlockListener extends EventListener
@Override
public void run()
{
- user.get().getInventory().addItem(itemstack);
- user.get().updateInventory();
+ user.getPlayer().getInventory().addItem(itemstack);
+ user.getPlayer().updateInventory();
}
});
}
- return true;
}
}
diff --git a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
index f25376f62..c56660d17 100644
--- a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
@@ -1,10 +1,5 @@
package net.ess3.listener;
-import static net.ess3.I18n._;
-import net.ess3.api.IEssentials;
-import net.ess3.api.ISettings;
-import net.ess3.api.IUser;
-import net.ess3.permissions.Permissions;
import java.util.List;
import lombok.Cleanup;
import static net.ess3.I18n._;
@@ -21,8 +16,8 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.entity.*;
+import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.inventory.ItemStack;
@@ -63,7 +58,7 @@ public class EssentialsEntityListener implements Listener
{
event.setCancelled(true);
}
- final ItemStack itemstack = attacker.getItemInHand();
+ final ItemStack itemstack = ((Player)eAttack).getItemInHand();
final List<String> commandList = attacker.getData().getPowertool(itemstack.getType());
if (commandList != null && !commandList.isEmpty())
{
@@ -71,13 +66,13 @@ public class EssentialsEntityListener implements Listener
{
if (command != null && !command.isEmpty())
{
- ess.scheduleSyncDelayedTask(
+ ess.getPlugin().scheduleSyncDelayedTask(
new Runnable()
{
@Override
public void run()
{
- attacker.getServer().dispatchCommand(attacker.getBase(), command.replaceAll("\\{player\\}", defender.getName()));
+ attacker.getServer().dispatchCommand(((Player)eAttack), command.replaceAll("\\{player\\}", defender.getName()));
}
});
event.setCancelled(true);
diff --git a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
index 04a12aada..c2712f599 100644
--- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
@@ -29,8 +29,8 @@ import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryType;
-import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.bukkit.event.player.*;
+import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
@@ -136,11 +136,11 @@ public class EssentialsPlayerListener implements Listener
}
if (user.getData().getInventory() != null)
{
- user.getInventory().setContents(user.getData().getInventory().getBukkitInventory());
+ user.getPlayer().getInventory().setContents(user.getData().getInventory().getBukkitInventory());
user.getData().setInventory(null);
}
user.updateActivity(false);
- user.dispose();
+ //user.getPlayer().dispose();
}
@EventHandler(priority = EventPriority.MONITOR)
@@ -156,20 +156,20 @@ public class EssentialsPlayerListener implements Listener
user.acquireWriteLock();
user.updateDisplayName();
- user.getData().setIpAddress(user.getAddress().getAddress().getHostAddress());
+ user.getData().setIpAddress(user.getPlayer().getAddress().getAddress().getHostAddress());
user.updateActivity(false);
for (String p : ess.getVanishedPlayers())
{
if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(user))
{
- user.hidePlayer(ess.getUserMap().getUser(p).getBase());
+ user.getPlayer().hidePlayer(ess.getUserMap().getUser(p).getPlayer());
}
}
if (Permissions.SLEEPINGIGNORED.isAuthorized(user))
{
- user.setSleepingIgnored(true);
+ user.getPlayer().setSleepingIgnored(true);
}
@Cleanup
@@ -276,8 +276,8 @@ public class EssentialsPlayerListener implements Listener
final ItemStack hand = new ItemStack(Material.EGG, 1);
if (user.getData().hasUnlimited(hand.getType()))
{
- user.getInventory().addItem(hand);
- user.updateInventory();
+ user.getPlayer().getInventory().addItem(hand);
+ user.getPlayer().updateInventory();
}
}
@@ -290,12 +290,12 @@ public class EssentialsPlayerListener implements Listener
if (user.getData().hasUnlimited(event.getBucket()))
{
event.getItemStack().setType(event.getBucket());
- ess.scheduleSyncDelayedTask(new Runnable()
+ ess.getPlugin().scheduleSyncDelayedTask(new Runnable()
{
@Override
public void run()
{
- user.updateInventory();
+ user.getPlayer().updateInventory();
}
});
}
@@ -316,7 +316,7 @@ public class EssentialsPlayerListener implements Listener
spyer.acquireReadLock();
if (spyer.getData().isSocialspy() && !user.equals(spyer))
{
- player.sendMessage(user.getDisplayName() + " : " + event.getMessage());
+ player.sendMessage(user.getPlayer().getDisplayName() + " : " + event.getMessage());
}
}
}
@@ -395,7 +395,7 @@ public class EssentialsPlayerListener implements Listener
private boolean usePowertools(final IUser user)
{
- final ItemStack is = user.getItemInHand();
+ final ItemStack is = user.getPlayer().getItemInHand();
int id;
if (is == null || (id = is.getTypeId()) == 0)
{
@@ -419,18 +419,18 @@ public class EssentialsPlayerListener implements Listener
else if (command.startsWith("c:"))
{
used = true;
- user.chat(command.substring(2));
+ user.getPlayer().chat(command.substring(2));
}
else
{
used = true;
- ess.scheduleSyncDelayedTask(
+ ess.getPlugin().scheduleSyncDelayedTask(
new Runnable()
{
@Override
public void run()
{
- user.getServer().dispatchCommand(user.getBase(), command);
+ user.getServer().dispatchCommand(user.getPlayer(), command);
}
});
}
diff --git a/Essentials/src/net/ess3/metrics/Metrics.java b/Essentials/src/net/ess3/metrics/Metrics.java
index 643d86d30..0d1258e91 100644
--- a/Essentials/src/net/ess3/metrics/Metrics.java
+++ b/Essentials/src/net/ess3/metrics/Metrics.java
@@ -30,7 +30,11 @@ import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.*;
import java.util.logging.Level;
-import net.ess3.api.server.Plugin;
+import org.bukkit.Bukkit;
+import org.bukkit.configuration.InvalidConfigurationException;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.PluginDescriptionFile;
/**
@@ -189,7 +193,7 @@ public class Metrics
}
// Begin hitting the server with glorious data
- taskId = plugin.scheduleAsyncRepeatingTask(new Runnable()
+ taskId = plugin.getServer().getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable()
{
private boolean firstPost = true;
@@ -203,7 +207,7 @@ public class Metrics
// Disable Task, if it is running and the server owner decided to opt-out
if (isOptOut() && taskId > 0)
{
- plugin.cancelTask(taskId);
+ plugin.getServer().getScheduler().cancelTask(taskId);
taskId = -1;
}
}
@@ -300,7 +304,7 @@ public class Metrics
// Disable Task, if it is running
if (taskId >= 0)
{
- this.plugin.cancelTask(taskId);
+ this.plugin.getServer().getScheduler().cancelTask(taskId);
taskId = -1;
}
}
diff --git a/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java b/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java
index 327299b99..46020336b 100644
--- a/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java
+++ b/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java
@@ -1,9 +1,10 @@
package net.ess3.permissions;
import net.ess3.api.IPermission;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Permission;
-import net.ess3.utils.Util;
+import net.ess3.bukkit.PermissionFactory;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
public abstract class AbstractSuperpermsPermission implements IPermission
@@ -21,7 +22,7 @@ public abstract class AbstractSuperpermsPermission implements IPermission
}
else
{
- return null;// Util.registerPermission(getPermission(), getPermissionDefault());
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
}
}
@@ -31,9 +32,9 @@ public abstract class AbstractSuperpermsPermission implements IPermission
*/
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
- return Permission.Default.OP;
+ return PermissionDefault.OP;
}
diff --git a/Essentials/src/net/ess3/permissions/GivePermissions.java b/Essentials/src/net/ess3/permissions/GivePermissions.java
index a3ced5155..8064c0715 100644
--- a/Essentials/src/net/ess3/permissions/GivePermissions.java
+++ b/Essentials/src/net/ess3/permissions/GivePermissions.java
@@ -1,15 +1,14 @@
package net.ess3.permissions;
-import net.ess3.api.IPermission;
-import net.ess3.api.server.Material;
-import net.ess3.api.server.Permission;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Locale;
-import java.util.Map;
+import net.ess3.api.IPermission;
+import org.bukkit.Material;
+import org.bukkit.permissions.PermissionDefault;
public class GivePermissions {
- private static Map<Material, IPermission> permissions = new HashMap<Material, IPermission>();
+ private static EnumMap<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
public static IPermission getPermission(final Material mat)
{
@@ -19,9 +18,9 @@ public class GivePermissions {
perm = new BasePermission("essentials.give.item-", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
{
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
- return Permission.Default.TRUE;
+ return PermissionDefault.TRUE;
}
};
permissions.put(mat, perm);
diff --git a/Essentials/src/net/ess3/permissions/ItemPermissions.java b/Essentials/src/net/ess3/permissions/ItemPermissions.java
index c0d4b587d..959f78444 100644
--- a/Essentials/src/net/ess3/permissions/ItemPermissions.java
+++ b/Essentials/src/net/ess3/permissions/ItemPermissions.java
@@ -1,17 +1,16 @@
package net.ess3.permissions;
-import net.ess3.api.IPermission;
-import net.ess3.api.server.Material;
-import net.ess3.api.server.Permission;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Locale;
-import java.util.Map;
+import net.ess3.api.IPermission;
+import org.bukkit.Material;
+import org.bukkit.permissions.PermissionDefault;
public class ItemPermissions
{
- private static Map<Material, IPermission> permissions = new HashMap<Material, IPermission>();
+ private static EnumMap<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
public static IPermission getPermission(final Material mat)
{
@@ -21,9 +20,9 @@ public class ItemPermissions
perm = new BasePermission("essentials.itemspawn.item-", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
{
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
- return Permission.Default.TRUE;
+ return PermissionDefault.TRUE;
}
};
permissions.put(mat, perm);
diff --git a/Essentials/src/net/ess3/permissions/KitPermissions.java b/Essentials/src/net/ess3/permissions/KitPermissions.java
index fb02392c0..00365aeac 100644
--- a/Essentials/src/net/ess3/permissions/KitPermissions.java
+++ b/Essentials/src/net/ess3/permissions/KitPermissions.java
@@ -1,10 +1,10 @@
package net.ess3.permissions;
-import net.ess3.api.IPermission;
-import net.ess3.api.server.Permission;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
+import net.ess3.api.IPermission;
+import org.bukkit.permissions.PermissionDefault;
public class KitPermissions
@@ -19,9 +19,9 @@ public class KitPermissions
perm = new BasePermission("essentials.kit.", kitName.toLowerCase(Locale.ENGLISH))
{
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
- return Permission.Default.TRUE;
+ return PermissionDefault.TRUE;
}
};
permissions.put(kitName, perm);
diff --git a/Essentials/src/net/ess3/permissions/Permissions.java b/Essentials/src/net/ess3/permissions/Permissions.java
index 1571b1107..a71ae6fa0 100644
--- a/Essentials/src/net/ess3/permissions/Permissions.java
+++ b/Essentials/src/net/ess3/permissions/Permissions.java
@@ -2,8 +2,10 @@ package net.ess3.permissions;
import java.util.Locale;
import net.ess3.api.IPermission;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Permission;
+import net.ess3.bukkit.PermissionFactory;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
public enum Permissions implements IPermission
@@ -22,7 +24,8 @@ public enum Permissions implements IPermission
CHAT_SPY,
CLEARINVENTORY_OTHERS,
DELHOME_OTHERS,
- ECO_LOAN(Permission.Default.FALSE),
+ ECO_LOAN(PermissionDefault.FALSE),
+ ENDERCHEST_OTHERS,
EXP_GIVE,
EXP_GIVE_OTHERS,
EXP_SET,
@@ -31,8 +34,8 @@ public enum Permissions implements IPermission
FEED_OTHERS,
FLY_OTHERS,
GAMEMODE_OTHERS,
- GEOIP_HIDE(Permission.Default.FALSE),
- GEOIP_SHOW(Permission.Default.TRUE),
+ GEOIP_HIDE(PermissionDefault.FALSE),
+ GEOIP_SHOW(PermissionDefault.TRUE),
GETPOS_OTHERS,
GOD_OTHERS,
HEAL_COOLDOWN_BYPASS,
@@ -58,7 +61,7 @@ public enum Permissions implements IPermission
NICK_COLOR,
NICK_OTHERS,
NOGOD_OVERRIDE,
- OVERSIZEDSTACKS(Permission.Default.FALSE),
+ OVERSIZEDSTACKS(PermissionDefault.FALSE),
POWERTOOL_APPEND,
PTIME_OTHERS,
PVPDELAY_EXEMPT,
@@ -70,6 +73,8 @@ public enum Permissions implements IPermission
SETHOME_OTHERS,
SLEEPINGIGNORED,
SPAWN_OTHERS,
+ SPEED_BYPASS,
+ SPEED_OTHERS,
SUDO_EXEMPT,
TELEPORT_COOLDOWN_BYPASS,
TELEPORT_HIDDEN,
@@ -84,22 +89,22 @@ public enum Permissions implements IPermission
TPAHERE,
TPOHERE,
UNLIMITED_OTHERS,
- WARP_LIST(Permission.Default.TRUE),
+ WARP_LIST(PermissionDefault.TRUE),
WARP_HIDDEN,
WARP_OTHERS,
VANISH_SEE_OTHERS;
private static final String base = "essentials.";
private final String permission;
- private final Permission.Default defaultPerm;
+ private final PermissionDefault defaultPerm;
private transient Permission bukkitPerm = null;
private Permissions()
{
- this(Permission.Default.OP);
+ this(PermissionDefault.OP);
}
- private Permissions(final Permission.Default defaultPerm)
- {
+ private Permissions(final PermissionDefault defaultPerm)
+ {
permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.');
this.defaultPerm = defaultPerm;
}
@@ -121,13 +126,13 @@ public enum Permissions implements IPermission
}
else
{
- return Permission.create(getPermissionName(), getPermissionDefault());
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
}
}
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
return this.defaultPerm;
}
diff --git a/Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java b/Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java
index 4387e6ba2..b43fd85cb 100644
--- a/Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java
+++ b/Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java
@@ -1,14 +1,13 @@
package net.ess3.permissions;
-import net.ess3.api.IPermission;
-import net.ess3.api.server.Material;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Locale;
-import java.util.Map;
+import net.ess3.api.IPermission;
+import org.bukkit.Material;
public class UnlimitedItemPermissions
{
- private static Map<Material, IPermission> permissions = new HashMap<Material, IPermission>();
+ private static EnumMap<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
public static IPermission getPermission(final Material mat)
{
diff --git a/Essentials/src/net/ess3/permissions/WarpPermissions.java b/Essentials/src/net/ess3/permissions/WarpPermissions.java
index fe977ccce..c87d78437 100644
--- a/Essentials/src/net/ess3/permissions/WarpPermissions.java
+++ b/Essentials/src/net/ess3/permissions/WarpPermissions.java
@@ -1,10 +1,10 @@
package net.ess3.permissions;
-import net.ess3.api.IPermission;
-import net.ess3.api.server.Permission;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
+import net.ess3.api.IPermission;
+import org.bukkit.permissions.PermissionDefault;
public class WarpPermissions
@@ -19,9 +19,9 @@ public class WarpPermissions
perm = new BasePermission("essentials.warp.", warpName.toLowerCase(Locale.ENGLISH))
{
@Override
- public Permission.Default getPermissionDefault()
+ public PermissionDefault getPermissionDefault()
{
- return Permission.Default.TRUE;
+ return PermissionDefault.TRUE;
}
};
permissions.put(warpName, perm);
diff --git a/Essentials/src/net/ess3/ranks/GMGroups.java b/Essentials/src/net/ess3/ranks/GMGroups.java
index ef5ff0a60..3c38eaff2 100644
--- a/Essentials/src/net/ess3/ranks/GMGroups.java
+++ b/Essentials/src/net/ess3/ranks/GMGroups.java
@@ -6,7 +6,7 @@ import net.ess3.api.IEssentials;
import net.ess3.api.IRanks;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.bukkit.BukkitPlayer;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
@@ -25,7 +25,7 @@ public class GMGroups implements IRanks {
@Override
public double getHealCooldown(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return 0;
@@ -36,7 +36,7 @@ public class GMGroups implements IRanks {
@Override
public double getTeleportCooldown(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return 0;
@@ -47,7 +47,7 @@ public class GMGroups implements IRanks {
@Override
public double getTeleportDelay(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return 0;
@@ -58,7 +58,7 @@ public class GMGroups implements IRanks {
@Override
public String getPrefix(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return null;
@@ -69,7 +69,7 @@ public class GMGroups implements IRanks {
@Override
public String getSuffix(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return null;
@@ -80,7 +80,7 @@ public class GMGroups implements IRanks {
@Override
public int getHomeLimit(IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return 0;
@@ -92,7 +92,7 @@ public class GMGroups implements IRanks {
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceFormat(format);
+ format = FormatUtil.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
@@ -105,7 +105,7 @@ public class GMGroups implements IRanks {
private String getRawChatFormat(final IUser player)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler != null)
{
String chatformat = handler.getPermissionString(player.getName(), "chatformat");
@@ -123,7 +123,7 @@ public class GMGroups implements IRanks {
@Override
public String getMainGroup(IUser player)
{
- final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getPlayer());
if (handler == null)
{
return null;
@@ -134,7 +134,7 @@ public class GMGroups implements IRanks {
@Override
public boolean inGroup(IUser player, String groupname)
{
- AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(((BukkitPlayer)player.getBase()).getPlayer());
+ AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player.getName());
if (handler == null)
{
return false;
diff --git a/Essentials/src/net/ess3/ranks/RanksStorage.java b/Essentials/src/net/ess3/ranks/RanksStorage.java
index c99deb535..d76077b6c 100644
--- a/Essentials/src/net/ess3/ranks/RanksStorage.java
+++ b/Essentials/src/net/ess3/ranks/RanksStorage.java
@@ -14,6 +14,7 @@ import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.GroupsPermissions;
import net.ess3.storage.AsyncStorageObjectHolder;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
@@ -155,7 +156,7 @@ public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRa
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceFormat(format);
+ format = FormatUtil.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
diff --git a/Essentials/src/net/ess3/ranks/VaultGroups.java b/Essentials/src/net/ess3/ranks/VaultGroups.java
index ab0a32755..d6cc35d10 100644
--- a/Essentials/src/net/ess3/ranks/VaultGroups.java
+++ b/Essentials/src/net/ess3/ranks/VaultGroups.java
@@ -6,9 +6,10 @@ import net.ess3.api.IEssentials;
import net.ess3.api.IRanks;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
-import net.ess3.bukkit.BukkitPlayer;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
import net.milkbowl.vault.chat.Chat;
+import org.bukkit.plugin.RegisteredServiceProvider;
public class VaultGroups implements IRanks
@@ -19,54 +20,59 @@ public class VaultGroups implements IRanks
{
this.ess = ess;
}
+
+ private <T> T getServiceProvider(Class<T> clazz) {
+ RegisteredServiceProvider<T> provider = ess.getServer().getServicesManager().getRegistration(clazz);
+ return provider.getProvider();
+ }
@Override
public double getHealCooldown(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "healcooldown", 0);
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerInfoDouble(player.getPlayer(), "healcooldown", 0);
}
@Override
public double getTeleportCooldown(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportcooldown", 0);
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerInfoDouble(player.getPlayer(), "teleportcooldown", 0);
}
@Override
public double getTeleportDelay(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerInfoDouble(((BukkitPlayer)player.getBase()).getPlayer(), "teleportdelay", 0);
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerInfoDouble(player.getPlayer(), "teleportdelay", 0);
}
@Override
public String getPrefix(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerPrefix(((BukkitPlayer)player.getBase()).getPlayer());
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerPrefix(player.getPlayer());
}
@Override
public String getSuffix(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerSuffix(((BukkitPlayer)player.getBase()).getPlayer());
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerSuffix(player.getPlayer());
}
@Override
public int getHomeLimit(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPlayerInfoInteger(((BukkitPlayer)player.getBase()).getPlayer(), "homes", 0);
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPlayerInfoInteger(player.getPlayer(), "homes", 0);
}
@Override
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceFormat(format);
+ format = FormatUtil.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
@@ -79,8 +85,8 @@ public class VaultGroups implements IRanks
private String getRawChatFormat(final IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- String chatformat = chat.getPlayerInfoString(((BukkitPlayer)player.getBase()).getPlayer(), "chatformat", "");
+ Chat chat = getServiceProvider(Chat.class);
+ String chatformat = chat.getPlayerInfoString(player.getPlayer(), "chatformat", "");
if (chatformat != null && !chatformat.isEmpty())
{
return chatformat;
@@ -95,15 +101,15 @@ public class VaultGroups implements IRanks
@Override
public String getMainGroup(IUser player)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- return chat.getPrimaryGroup(((BukkitPlayer)player.getBase()).getPlayer());
+ Chat chat = getServiceProvider(Chat.class);
+ return chat.getPrimaryGroup(player.getPlayer().getPlayer());
}
@Override
public boolean inGroup(IUser player, String groupname)
{
- Chat chat = ess.getServer().getServiceProvider(Chat.class);
- for (String group : chat.getPlayerGroups(((BukkitPlayer)player.getBase()).getPlayer()))
+ Chat chat = getServiceProvider(Chat.class);
+ for (String group : chat.getPlayerGroups(player.getPlayer()))
{
if (group.equalsIgnoreCase(groupname))
{
diff --git a/Essentials/src/net/ess3/settings/Commands.java b/Essentials/src/net/ess3/settings/Commands.java
index c67ca2da3..5aeca1590 100644
--- a/Essentials/src/net/ess3/settings/Commands.java
+++ b/Essentials/src/net/ess3/settings/Commands.java
@@ -23,6 +23,7 @@ public class Commands implements StorageObject
private net.ess3.settings.commands.List list = new net.ess3.settings.commands.List();
private Spawnmob spawnmob = new Spawnmob();
private Tpa tpa = new Tpa();
+ private Speed speed = new Speed();
@ListType
@Comment(
{
diff --git a/Essentials/src/net/ess3/settings/General.java b/Essentials/src/net/ess3/settings/General.java
index caf8a15c2..606a847e9 100644
--- a/Essentials/src/net/ess3/settings/General.java
+++ b/Essentials/src/net/ess3/settings/General.java
@@ -1,29 +1,15 @@
package net.ess3.settings;
-import java.util.HashMap;
-import java.util.Map;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.ess3.storage.Comment;
import net.ess3.storage.StorageObject;
-import org.bukkit.entity.EntityType;
@Data
@EqualsAndHashCode(callSuper = false)
public class General implements StorageObject
{
- public General()
- {
- //Populate creature spawn values
- for (EntityType t : EntityType.values())
- {
- if (t.isAlive())
- {
- creatureSpawn.put(t, false);
- }
- }
- }
@Comment("Backup runs a command while saving is disabled")
private Backup backup = new Backup();
@Comment("You can disable the death messages of minecraft.")
@@ -92,21 +78,4 @@ public class General implements StorageObject
return loginAttackDelay * 1000;
}
public boolean metricsEnabled = true;
-//todo remove this
- @Comment("Prevent creatures spawning")
- private Map<EntityType, Boolean> creatureSpawn = new HashMap<EntityType, Boolean>();
-
- public boolean getPreventSpawn(String creatureName)
- {
- return getPreventSpawn(EntityType.fromName(creatureName));
- }
-
- public boolean getPreventSpawn(EntityType creature)
- {
- if (creatureSpawn == null)
- {
- return false;
- }
- return creatureSpawn.get(creature);
- }
}
diff --git a/Essentials/src/net/ess3/settings/Kit.java b/Essentials/src/net/ess3/settings/Kit.java
index 19b4b0275..822209eda 100644
--- a/Essentials/src/net/ess3/settings/Kit.java
+++ b/Essentials/src/net/ess3/settings/Kit.java
@@ -4,9 +4,9 @@ import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import net.ess3.api.server.ItemStack;
import net.ess3.storage.ListType;
import net.ess3.storage.StorageObject;
+import org.bukkit.inventory.ItemStack;
@Data
diff --git a/Essentials/src/net/ess3/settings/SpawnsHolder.java b/Essentials/src/net/ess3/settings/SpawnsHolder.java
index bca2e8815..c07191752 100644
--- a/Essentials/src/net/ess3/settings/SpawnsHolder.java
+++ b/Essentials/src/net/ess3/settings/SpawnsHolder.java
@@ -11,7 +11,7 @@ import net.ess3.api.IEssentialsModule;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.storage.AsyncStorageObjectHolder;
-import net.ess3.storage.Location.WorldNotLoadedException;
+import net.ess3.storage.StoredLocation.WorldNotLoadedException;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.SimpleTextInput;
@@ -180,13 +180,15 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
acquireReadLock();
try
{
- return getData().getNewPlayerAnnouncement().replace('&', '§').replace("§§", "&").replace("{PLAYER}", user.getDisplayName()).replace("{DISPLAYNAME}", user.getDisplayName()).replace("{GROUP}", ess.getRanks().getMainGroup(user)).replace("{USERNAME}", user.getName()).replace("{ADDRESS}", user.getAddress().toString());
+ return getData().getNewPlayerAnnouncement().replace('&', '\u00a7').replace("\u00a7\u00a7", "&").replace("{PLAYER}", user.getPlayer().getDisplayName()).replace("{DISPLAYNAME}", user.getPlayer().getDisplayName()).replace("{GROUP}", ess.getRanks().getMainGroup(user)).replace("{USERNAME}", user.getName()).replace("{ADDRESS}", user.getPlayer().getAddress().toString());
}
finally
{
unlock();
}
}
+
+ //TODO: Why is this stuff here in the settings folder?
private void registerListeners()
{
@@ -198,7 +200,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
{
((SpawnPlayerListener)ll).onPlayerRespawn((PlayerRespawnEvent)event);
}
- }, ess);
+ }, ess.getPlugin());
ess.getServer().getPluginManager().registerEvent(PlayerJoinEvent.class, playerListener, getRespawnPriority(), new EventExecutor()
{
@Override
@@ -206,7 +208,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
{
((SpawnPlayerListener)ll).onPlayerJoin((PlayerJoinEvent)event);
}
- }, ess);
+ }, ess.getPlugin());
}
@@ -247,7 +249,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
}
else
{
- home = user.getHome(user.getLocation());
+ home = user.getHome(user.getPlayer().getLocation());
}
if (home != null)
{
@@ -297,7 +299,7 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
@Override
public void run()
{
- if (user.getBase() instanceof OfflinePlayer)
+ if (user.getPlayer() instanceof OfflinePlayer)
{
return;
}
diff --git a/Essentials/src/net/ess3/settings/Warp.java b/Essentials/src/net/ess3/settings/Warp.java
index 963a5420a..99ce3cce7 100644
--- a/Essentials/src/net/ess3/settings/Warp.java
+++ b/Essentials/src/net/ess3/settings/Warp.java
@@ -2,13 +2,13 @@ package net.ess3.settings;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import net.ess3.storage.Location;
import net.ess3.storage.StorageObject;
+import net.ess3.storage.StoredLocation;
@Data
@EqualsAndHashCode(callSuper = false)
public class Warp implements StorageObject
{
private String name;
- private Location location;
+ private StoredLocation location;
}
diff --git a/Essentials/src/net/ess3/settings/WorldOptions.java b/Essentials/src/net/ess3/settings/WorldOptions.java
index cc75a0e63..e6620e614 100644
--- a/Essentials/src/net/ess3/settings/WorldOptions.java
+++ b/Essentials/src/net/ess3/settings/WorldOptions.java
@@ -1,14 +1,47 @@
package net.ess3.settings;
-import net.ess3.storage.Comment;
-import net.ess3.storage.StorageObject;
+import java.util.HashMap;
+import java.util.Map;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import net.ess3.storage.Comment;
+import net.ess3.storage.StorageObject;
+import org.bukkit.entity.EntityType;
@Data
@EqualsAndHashCode(callSuper = false)
public class WorldOptions implements StorageObject
{
+
+ public WorldOptions()
+ {
+ //Populate creature spawn values
+ for (EntityType t : EntityType.values())
+ {
+ if (t.isAlive())
+ {
+ creatureSpawn.put(t, false);
+ }
+ }
+ }
+
@Comment("Disables godmode for all players if they teleport to this world.")
private boolean godmode = true;
+
+ @Comment("Prevent creatures spawning")
+ private Map<EntityType, Boolean> creatureSpawn = new HashMap<EntityType, Boolean>();
+
+ public boolean getPreventSpawn(String creatureName)
+ {
+ return getPreventSpawn(EntityType.fromName(creatureName));
+ }
+
+ public boolean getPreventSpawn(EntityType creature)
+ {
+ if (creatureSpawn == null)
+ {
+ return false;
+ }
+ return creatureSpawn.get(creature);
+ }
}
diff --git a/Essentials/src/net/ess3/settings/antibuild/Alert.java b/Essentials/src/net/ess3/settings/antibuild/Alert.java
new file mode 100644
index 000000000..65a222575
--- /dev/null
+++ b/Essentials/src/net/ess3/settings/antibuild/Alert.java
@@ -0,0 +1,32 @@
+package net.ess3.settings.antibuild;
+
+import java.util.HashSet;
+import java.util.Set;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.ess3.storage.Comment;
+import net.ess3.storage.ListType;
+import net.ess3.storage.StorageObject;
+import org.bukkit.Material;
+
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Alert implements StorageObject
+{
+ @Comment("For which block types would you like to be alerted?")
+ @ListType(Material.class)
+ private Set<Material> alertOnPlacement = new HashSet<Material>();
+ @ListType(Material.class)
+ private Set<Material> alertOnUse = new HashSet<Material>();
+ @ListType(Material.class)
+ private Set<Material> alertOnBreak = new HashSet<Material>();
+
+ public Alert()
+ {
+ //todo full default list
+ alertOnPlacement.add(Material.GLASS);
+ alertOnUse.add(Material.LAVA);
+ alertOnBreak.add(Material.OBSIDIAN);
+ }
+} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/settings/antibuild/AntiBuild.java b/Essentials/src/net/ess3/settings/antibuild/AntiBuild.java
new file mode 100644
index 000000000..b0eb48636
--- /dev/null
+++ b/Essentials/src/net/ess3/settings/antibuild/AntiBuild.java
@@ -0,0 +1,39 @@
+package net.ess3.settings.antibuild;
+
+import java.util.HashSet;
+import java.util.Set;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.ess3.storage.*;
+import org.bukkit.Material;
+
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AntiBuild implements StorageObject
+{
+ @Comment(
+ {
+ "Should people with build: false in permissions be allowed to build",
+ "Set true to disable building for those people",
+ "Setting to false means EssentialsAntiBuild will never prevent you from building"
+ })
+ private boolean build = true;
+ @Comment(
+ {
+ "Should people with build: false in permissions be allowed to use items",
+ "Set true to disable using for those people",
+ "Setting to false means EssentialsAntiBuild will never prevent you from using"
+ })
+ private boolean use = true;
+
+ @Comment({"Should we tell people they are not allowed to build"})
+ private boolean warnOnBuildDisallow = true;
+
+
+ Alert alert = new Alert();
+
+ BlackList blacklist = new BlackList();
+
+
+}
diff --git a/Essentials/src/net/ess3/settings/antibuild/BlackList.java b/Essentials/src/net/ess3/settings/antibuild/BlackList.java
new file mode 100644
index 000000000..c14d39664
--- /dev/null
+++ b/Essentials/src/net/ess3/settings/antibuild/BlackList.java
@@ -0,0 +1,38 @@
+package net.ess3.settings.antibuild;
+
+import java.util.HashSet;
+import java.util.Set;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.ess3.storage.Comment;
+import net.ess3.storage.ListType;
+import net.ess3.storage.StorageObject;
+import org.bukkit.Material;
+
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BlackList implements StorageObject
+{
+ @Comment({"Which blocks should people be prevented from placing"})
+ @ListType(Material.class)
+ private Set<Material> placement = new HashSet<Material>();
+
+ @Comment({"Which items should people be prevented from using"})
+ @ListType(Material.class)
+ private Set<Material> usage = new HashSet<Material>();
+
+ @Comment({"Which blocks should people be prevented from breaking"})
+ @ListType(Material.class)
+ private Set<Material> breaking = new HashSet<Material>();
+
+ @Comment({"Which blocks should not be pushed by pistons"})
+ @ListType(Material.class)
+ private Set<Material> piston = new HashSet<Material>();
+
+
+ public BlackList()
+ {
+ //todo defaults
+ }
+}
diff --git a/Essentials/src/net/ess3/settings/commands/Speed.java b/Essentials/src/net/ess3/settings/commands/Speed.java
new file mode 100644
index 000000000..61872fa5e
--- /dev/null
+++ b/Essentials/src/net/ess3/settings/commands/Speed.java
@@ -0,0 +1,17 @@
+package net.ess3.settings.commands;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.ess3.storage.Comment;
+import net.ess3.storage.StorageObject;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Speed implements StorageObject
+{
+ @Comment({"#Set the max fly speed, values range from 0.1 to 1.0"})
+ private float maxFlySpeed = 1.0f;
+
+ /*@Comment({"#Set the max walk speed, values range from 0.1 to 1.0"})
+ private float maxWalkSpeed = 0.8f;*/
+}
diff --git a/Essentials/src/net/ess3/settings/geoip/Database.java b/Essentials/src/net/ess3/settings/geoip/Database.java
index 3573a9e16..5791853a3 100644
--- a/Essentials/src/net/ess3/settings/geoip/Database.java
+++ b/Essentials/src/net/ess3/settings/geoip/Database.java
@@ -1,8 +1,8 @@
package net.ess3.settings.geoip;
-import net.ess3.storage.StorageObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import net.ess3.storage.StorageObject;
@Data
diff --git a/Essentials/src/net/ess3/settings/protect/Prevent.java b/Essentials/src/net/ess3/settings/protect/Prevent.java
index 7b50be568..6d48ad719 100644
--- a/Essentials/src/net/ess3/settings/protect/Prevent.java
+++ b/Essentials/src/net/ess3/settings/protect/Prevent.java
@@ -1,11 +1,10 @@
package net.ess3.settings.protect;
-import net.ess3.storage.*;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import net.ess3.storage.*;
import org.bukkit.Material;
@@ -13,9 +12,7 @@ import org.bukkit.Material;
@EqualsAndHashCode(callSuper = false)
public class Prevent implements StorageObject
{
- @Comment("Which blocks should a piston not be able to push?")
- @ListType(Material.class)
- private Set<Material> pistonPush = new HashSet<Material>();
+
private boolean lavaFlow = false;
private boolean waterFlow = false;
// private boolean waterbucketFlow = false; TODO: Test if this still works
@@ -37,9 +34,4 @@ public class Prevent implements StorageObject
"permission essentials.protect.entitytarget.bypass disables this"
})
private boolean entitytarget = false;
-
- public Prevent()
- {
- pistonPush.add(Material.GLASS);
- }
} \ No newline at end of file
diff --git a/Essentials/src/net/ess3/settings/protect/Protect.java b/Essentials/src/net/ess3/settings/protect/Protect.java
index 3447979be..5b1a9ae87 100644
--- a/Essentials/src/net/ess3/settings/protect/Protect.java
+++ b/Essentials/src/net/ess3/settings/protect/Protect.java
@@ -1,32 +1,15 @@
package net.ess3.settings.protect;
-import java.util.HashSet;
-import java.util.Set;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.ess3.storage.Comment;
-import net.ess3.storage.ListType;
import net.ess3.storage.StorageObject;
-import org.bukkit.Material;
@Data
@EqualsAndHashCode(callSuper = false)
public class Protect implements StorageObject
-{
- @Comment("Either mysql or sqlite")
- private String dbtype = "sqlite";
- @Comment("If you specified MySQL above, you MUST enter the appropriate details here.")
- private String dbuser = "root";
- private String dbpassword = "";
- private String dburl = "jdbc:mysql://localhost:3306/minecraft";
- @Comment("For which block types would you like to be alerted?")
- @ListType(Material.class)
- private Set<Material> alertOnPlacement = new HashSet<Material>();
- @ListType(Material.class)
- private Set<Material> alertOnUse = new HashSet<Material>();
- @ListType(Material.class)
- private Set<Material> alertOnBreak = new HashSet<Material>();
+{
@Comment("General physics/behavior modifications")
private Prevent prevent = new Prevent();
@Comment(
@@ -35,18 +18,10 @@ public class Protect implements StorageObject
"Set prevent.creeper-explosion to true, if you want to disable creeper explosions."
})
private int creeperMaxHeight = -1;
- @Comment("Should we tell people they are not allowed to build")
- private boolean warnOnBuildDisallow = true;
+
@Comment("Disable weather options")
private boolean disableStorm = false;
private boolean disableThunder = false;
private boolean disableLighting = false;
- private SignsAndRails signsAndRails = new SignsAndRails();
- public Protect()
- {
- alertOnPlacement.add(Material.LAVA);
- alertOnUse.add(Material.LAVA_BUCKET);
- alertOnBreak.add(Material.GLASS);
- }
}
diff --git a/Essentials/src/net/ess3/settings/protect/SignsAndRails.java b/Essentials/src/net/ess3/settings/protect/SignsAndRails.java
deleted file mode 100644
index 148da7bc9..000000000
--- a/Essentials/src/net/ess3/settings/protect/SignsAndRails.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package net.ess3.settings.protect;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import net.ess3.storage.Comment;
-import net.ess3.storage.StorageObject;
-
-
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class SignsAndRails implements StorageObject
-{
- @Comment("Protect all signs")
- private boolean protectSigns = true;
- @Comment("Prevent users from destroying rails")
- private boolean protectRails = true;
- @Comment(
- {
- "Blocks below rails/signs are also protected if the respective rail/sign is protected.",
- "This makes it more difficult to circumvent protection, and should be enabled.",
- "This only has an effect if rails or signs is also enabled."
- })
- private boolean blockBelow = true;
- @Comment("Prevent placing blocks above protected rails, this is to stop a potential griefing")
- private boolean preventBlockAboveRails = false;
-}
diff --git a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
index 9dc010640..bb39742c8 100644
--- a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
+++ b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
@@ -6,7 +6,6 @@ import java.io.FileReader;
import java.io.IOException;
import java.util.concurrent.locks.ReentrantLock;
import java.util.logging.Level;
-import net.ess3.Essentials;
import net.ess3.api.IEssentials;
import org.bukkit.Bukkit;
diff --git a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
index f728ff7a0..0be1feac3 100644
--- a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
+++ b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileWriter.java
@@ -6,7 +6,6 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.concurrent.locks.ReentrantLock;
import java.util.logging.Level;
-import net.ess3.Essentials;
import net.ess3.api.IEssentials;
import org.bukkit.Bukkit;
diff --git a/Essentials/src/net/ess3/storage/BukkitConstructor.java b/Essentials/src/net/ess3/storage/BukkitConstructor.java
index 23a88325f..1a5159456 100644
--- a/Essentials/src/net/ess3/storage/BukkitConstructor.java
+++ b/Essentials/src/net/ess3/storage/BukkitConstructor.java
@@ -6,10 +6,10 @@ import java.util.Locale;
import java.util.Map;
import java.util.regex.Pattern;
import net.ess3.Essentials;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Material;
-import net.ess3.api.server.Plugin;
+import net.ess3.api.IPlugin;
+import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -21,9 +21,9 @@ import org.yaml.snakeyaml.nodes.*;
public class BukkitConstructor extends Constructor
{
private final transient Pattern NUMPATTERN = Pattern.compile("\\d+");
- private final transient Plugin plugin;
+ private final transient IPlugin plugin;
- public BukkitConstructor(final Class clazz, final Plugin plugin)
+ public BukkitConstructor(final Class clazz, final IPlugin plugin)
{
super(clazz);
this.plugin = plugin;
@@ -44,11 +44,11 @@ public class BukkitConstructor extends Constructor
if (NUMPATTERN.matcher(val).matches())
{
final int typeId = Integer.parseInt(val);
- mat = Material.get(typeId);
+ mat = Material.getMaterial(typeId);
}
else
{
- mat = Material.match(val);
+ mat = Material.matchMaterial(val);
}
return mat;
}
@@ -68,11 +68,11 @@ public class BukkitConstructor extends Constructor
if (NUMPATTERN.matcher(split[0]).matches())
{
final int typeId = Integer.parseInt(split[0]);
- mat = Material.get(typeId);
+ mat = Material.getMaterial(typeId);
}
else
{
- mat = Material.match(split[0]);
+ mat = Material.matchMaterial(split[0]);
}
if (mat == null)
{
@@ -106,11 +106,11 @@ public class BukkitConstructor extends Constructor
if (NUMPATTERN.matcher(split2[0]).matches())
{
final int typeId = Integer.parseInt(split2[0]);
- mat = Material.get(typeId);
+ mat = Material.getMaterial(typeId);
}
else
{
- mat = Material.match(split2[0]);
+ mat = Material.matchMaterial(split2[0]);
}
if (mat == null)
{
@@ -126,7 +126,7 @@ public class BukkitConstructor extends Constructor
{
size = Integer.parseInt(split1[1]);
}
- final ItemStack stack = ItemStack.create(mat, size, data);
+ final ItemStack stack = new ItemStack(mat, size, data);
if (split1.length > 2)
{
for (int i = 2; i < split1.length; i++)
diff --git a/Essentials/src/net/ess3/storage/Location.java b/Essentials/src/net/ess3/storage/Location.java
deleted file mode 100644
index 06210504b..000000000
--- a/Essentials/src/net/ess3/storage/Location.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package net.ess3.storage;
-
-import java.lang.ref.WeakReference;
-import java.util.UUID;
-import org.bukkit.Bukkit;
-import org.bukkit.World;
-
-
-public class Location
-{
- private WeakReference<org.bukkit.Location> location;
- private final String worldname;
- private UUID worldUID = null;
- private final double x;
- private final double y;
- private final double z;
- private final float yaw;
- private final float pitch;
-
- public Location(org.bukkit.Location loc)
- {
- location = new WeakReference<org.bukkit.Location>(loc);
- worldname = loc.getWorld().getName();
- worldUID = loc.getWorld().getUID();
- x = loc.getX();
- y = loc.getY();
- z = loc.getZ();
- yaw = loc.getYaw();
- pitch = loc.getPitch();
- }
-
- public Location(String worldname, double x, double y, double z, float yaw, float pitch)
- {
- this.worldname = worldname;
- this.x = x;
- this.y = y;
- this.z = z;
- this.yaw = yaw;
- this.pitch = pitch;
- }
-
- public Location(String worldname, double x, double y, double z)
- {
- this.worldname = worldname;
- this.x = x;
- this.y = y;
- this.z = z;
- this.yaw = 0f;
- this.pitch = 0f;
- }
-
- public org.bukkit.Location getBukkitLocation() throws WorldNotLoadedException
- {
-
- org.bukkit.Location loc = location == null ? null : location.get();
- if (loc == null)
- {
- World world = null;
- if (worldUID != null)
- {
- world = Bukkit.getWorld(worldUID);
- }
- if (world == null)
- {
- world = Bukkit.getWorld(worldname);
- }
- if (world == null)
- {
- throw new WorldNotLoadedException(worldname);
- }
- loc = new org.bukkit.Location(world, getX(), getY(), getZ(), getYaw(), getPitch());
- location = new WeakReference<org.bukkit.Location>(loc);
- }
- return loc;
- }
-
- public String getWorldName()
- {
- return worldname;
- }
-
- public double getX()
- {
- return x;
- }
-
- public double getY()
- {
- return y;
- }
-
- public double getZ()
- {
- return z;
- }
-
- public float getYaw()
- {
- return yaw;
- }
-
- public float getPitch()
- {
- return pitch;
- }
-
-
- public static class WorldNotLoadedException extends Exception
- {
- public WorldNotLoadedException(String worldname)
- {
- super("World " + worldname + " is not loaded.");
- }
- }
-}
diff --git a/Essentials/src/net/ess3/storage/StorageObjectMap.java b/Essentials/src/net/ess3/storage/StorageObjectMap.java
index 1e88a8fd3..bec082e31 100644
--- a/Essentials/src/net/ess3/storage/StorageObjectMap.java
+++ b/Essentials/src/net/ess3/storage/StorageObjectMap.java
@@ -80,7 +80,7 @@ public abstract class StorageObjectMap<I> extends CacheLoader<String, I> impleme
{
try
{
- return (I)cache.get(name.toLowerCase(Locale.ENGLISH));
+ return (I)cache.get(name);
}
catch (ExecutionException ex)
{
diff --git a/Essentials/src/net/ess3/storage/StoredLocation.java b/Essentials/src/net/ess3/storage/StoredLocation.java
index 974204bf6..5e0394c0e 100644
--- a/Essentials/src/net/ess3/storage/StoredLocation.java
+++ b/Essentials/src/net/ess3/storage/StoredLocation.java
@@ -1,8 +1,8 @@
package net.ess3.storage;
import java.lang.ref.WeakReference;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.World;
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
public class StoredLocation
@@ -52,7 +52,7 @@ public class StoredLocation
Location loc = location == null ? null : location.get();
if (loc == null)
{
- loc = Location.create(worldname, getX(), getY(), getZ(), getYaw(), getPitch());
+ loc = new Location(Bukkit.getWorld(worldname), getX(), getY(), getZ(), getYaw(), getPitch());
location = new WeakReference<Location>(loc);
}
return loc;
diff --git a/Essentials/src/net/ess3/storage/YamlStorageReader.java b/Essentials/src/net/ess3/storage/YamlStorageReader.java
index 603765e69..03e40fe1e 100644
--- a/Essentials/src/net/ess3/storage/YamlStorageReader.java
+++ b/Essentials/src/net/ess3/storage/YamlStorageReader.java
@@ -1,10 +1,10 @@
package net.ess3.storage;
-import net.ess3.api.server.Plugin;
import java.io.Reader;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
+import net.ess3.api.IPlugin;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -15,9 +15,9 @@ public class YamlStorageReader implements IStorageReader
private transient static final Map<Class, Yaml> PREPARED_YAMLS = Collections.synchronizedMap(new HashMap<Class, Yaml>());
private transient static final Map<Class, ReentrantLock> LOCKS = new HashMap<Class, ReentrantLock>();
private transient final Reader reader;
- private transient final Plugin plugin;
+ private transient final IPlugin plugin;
- public YamlStorageReader(final Reader reader, final Plugin plugin)
+ public YamlStorageReader(final Reader reader, final IPlugin plugin)
{
this.reader = reader;
this.plugin = plugin;
diff --git a/Essentials/src/net/ess3/user/PlayerNotFoundException.java b/Essentials/src/net/ess3/user/PlayerNotFoundException.java
new file mode 100644
index 000000000..2c658aa0b
--- /dev/null
+++ b/Essentials/src/net/ess3/user/PlayerNotFoundException.java
@@ -0,0 +1,11 @@
+package net.ess3.user;
+
+import static net.ess3.I18n._;
+
+public class PlayerNotFoundException extends Exception {
+
+ public PlayerNotFoundException()
+ {
+ super(_("playerNotFound"));
+ }
+}
diff --git a/Essentials/src/net/ess3/user/TooManyMatchesException.java b/Essentials/src/net/ess3/user/TooManyMatchesException.java
index d55e6b6c4..65fbdb78f 100644
--- a/Essentials/src/net/ess3/user/TooManyMatchesException.java
+++ b/Essentials/src/net/ess3/user/TooManyMatchesException.java
@@ -1,5 +1,46 @@
package net.ess3.user;
-public class TooManyMatchesException extends Exception {
+import java.util.Collections;
+import java.util.Set;
+import static net.ess3.I18n._;
+import net.ess3.api.IUser;
+
+public class TooManyMatchesException extends Exception
+{
+ private final Set<IUser> matches;
+
+ public TooManyMatchesException()
+ {
+ super();
+ matches = Collections.emptySet();
+ }
+
+ public TooManyMatchesException(Set<IUser> users)
+ {
+ super();
+ this.matches = users;
+ }
+
+ @Override
+ public String getMessage()
+ {
+ if (!matches.isEmpty())
+ {
+ StringBuilder builder = new StringBuilder(matches.size() * 16);
+ for (IUser iUser : matches)
+ {
+ if (builder.length() > 0)
+ {
+ builder.append(", ");
+ }
+ builder.append(iUser.getPlayer().getDisplayName());
+ }
+ return _("tooManyMatchesWithList", builder.toString());
+ }
+ else
+ {
+ return _("tooManyMatches");
+ }
+ }
}
diff --git a/Essentials/src/net/ess3/user/User.java b/Essentials/src/net/ess3/user/User.java
index b959e36bc..1928c3ca3 100644
--- a/Essentials/src/net/ess3/user/User.java
+++ b/Essentials/src/net/ess3/user/User.java
@@ -1,14 +1,6 @@
package net.ess3.user;
-import net.ess3.Console;
-import static net.ess3.I18n._;
-import net.ess3.Teleport;
-import net.ess3.api.*;
-import net.ess3.api.server.*;
-import net.ess3.economy.register.Method;
-import net.ess3.permissions.Permissions;
-import net.ess3.utils.DateUtil;
-import net.ess3.utils.Util;
+import java.lang.ref.WeakReference;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
@@ -17,6 +9,20 @@ import java.util.concurrent.atomic.AtomicBoolean;
import lombok.Cleanup;
import lombok.Getter;
import lombok.Setter;
+import net.ess3.Console;
+import static net.ess3.I18n._;
+import net.ess3.Teleport;
+import net.ess3.api.*;
+import net.ess3.craftbukkit.InventoryWorkaround;
+import net.ess3.economy.register.Method;
+import net.ess3.permissions.Permissions;
+import net.ess3.utils.DateUtil;
+import net.ess3.utils.FormatUtil;
+import org.bukkit.Location;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.ItemStack;
public class User extends UserBase implements IUser
@@ -42,15 +48,48 @@ public class User extends UserBase implements IUser
@Getter
@Setter
private boolean invSee = false;
+ @Getter
+ @Setter
+ private boolean enderSee = false;
private transient Location afkPosition;
private AtomicBoolean gotMailInfo = new AtomicBoolean(false);
+ private WeakReference<Player> playerCache;
- public User(final Player base, final IEssentials ess)
+ public User(final OfflinePlayer base, final IEssentials ess)
{
super(base, ess);
teleport = new Teleport(this, ess);
}
+ @Override
+ public void setPlayerCache(final Player player)
+ {
+ playerCache = new WeakReference<Player>(player);
+ }
+
+ private void destroyPlayerCache()
+ {
+ playerCache = null;
+ }
+
+ @Override
+ public void close()
+ {
+ super.close();
+ destroyPlayerCache();
+ }
+
+ @Override
+ public Player getPlayer()
+ {
+ Player player = playerCache == null ? null : playerCache.get();
+ if (player == null)
+ {
+ player = super.getPlayer();
+ }
+ return player;
+ }
+
public void example()
{
// Cleanup will call close at the end of the function
@@ -77,12 +116,6 @@ public class User extends UserBase implements IUser
}
@Override
- public void update(final Player base)
- {
- super.update(base);
- }
-
- @Override
public void checkCooldown(final UserData.TimestampType cooldownType, final double cooldown, final boolean set, final IPermission bypassPermission) throws CooldownException
{
final Calendar now = new GregorianCalendar();
@@ -121,10 +154,10 @@ public class User extends UserBase implements IUser
try
{
setMoney(getMoney() + value);
- sendMessage(_("addedToAccount", Util.displayCurrency(value, ess)));
+ sendMessage(_("addedToAccount", FormatUtil.displayCurrency(value, ess)));
if (initiator != null)
{
- initiator.sendMessage(_("addedToOthersAccount", Util.displayCurrency(value, ess), this.getDisplayName()));
+ initiator.sendMessage(_("addedToOthersAccount", FormatUtil.displayCurrency(value, ess), this.getPlayer().getDisplayName()));
}
}
finally
@@ -144,8 +177,8 @@ public class User extends UserBase implements IUser
{
setMoney(getMoney() - value);
reciever.setMoney(reciever.getMoney() + value);
- sendMessage(_("moneySentTo", Util.displayCurrency(value, ess), reciever.getDisplayName()));
- reciever.sendMessage(_("moneyRecievedFrom", Util.displayCurrency(value, ess), getDisplayName()));
+ sendMessage(_("moneySentTo", FormatUtil.displayCurrency(value, ess), reciever.getPlayer().getDisplayName()));
+ reciever.sendMessage(_("moneyRecievedFrom", FormatUtil.displayCurrency(value, ess), getPlayer().getDisplayName()));
}
else
{
@@ -167,21 +200,21 @@ public class User extends UserBase implements IUser
return;
}
setMoney(getMoney() - value);
- sendMessage(_("takenFromAccount", Util.displayCurrency(value, ess)));
+ sendMessage(_("takenFromAccount", FormatUtil.displayCurrency(value, ess)));
if (initiator != null)
{
- initiator.sendMessage(_("takenFromOthersAccount", Util.displayCurrency(value, ess), this.getDisplayName()));
+ initiator.sendMessage(_("takenFromOthersAccount", FormatUtil.displayCurrency(value, ess), this.getPlayer().getDisplayName()));
}
}
public void setHome()
{
- setHome("home", getLocation());
+ setHome("home", getPlayer().getLocation());
}
public void setHome(final String name)
{
- setHome(name, getLocation());
+ setHome(name, getPlayer().getLocation());
}
@Override
@@ -190,13 +223,14 @@ public class User extends UserBase implements IUser
acquireWriteLock();
try
{
- getData().setLastLocation(new net.ess3.storage.StoredLocation(getLocation()));
+ getData().setLastLocation(new net.ess3.storage.StoredLocation(getPlayer().getLocation()));
}
finally
{
unlock();
}
}
+
public String getNick(boolean addprefixsuffix)
{
acquireReadLock();
@@ -228,7 +262,7 @@ public class User extends UserBase implements IUser
{
displayname = displayname.replace("{SUFFIX}", groups.getSuffix(this));
}
- displayname = displayname.replace("{WORLDNAME}", this.getWorld().getName());
+ displayname = displayname.replace("{WORLDNAME}", this.getPlayer().getWorld().getName());
displayname = displayname.replace('&', '\u00a7');
displayname = displayname.concat("\u00a7f");
@@ -244,7 +278,7 @@ public class User extends UserBase implements IUser
public void setDisplayNick()
{
String name = getNick(true);
- setDisplayName(name);
+ getPlayer().setDisplayName(name);
if (name.length() > 16)
{
name = getNick(false);
@@ -255,7 +289,7 @@ public class User extends UserBase implements IUser
}
try
{
- setPlayerListName(name);
+ getPlayer().setPlayerListName(name);
}
catch (IllegalArgumentException e)
{
@@ -264,12 +298,6 @@ public class User extends UserBase implements IUser
}
@Override
- public String getDisplayName()
- {
- return super.getDisplayName() == null ? super.getName() : super.getDisplayName();
- }
-
- @Override
public void updateDisplayName()
{
@Cleanup
@@ -330,10 +358,10 @@ public class User extends UserBase implements IUser
acquireWriteLock();
try
{
- this.setSleepingIgnored(Permissions.SLEEPINGIGNORED.isAuthorized(this) ? true : set);
+ this.getPlayer().setSleepingIgnored(Permissions.SLEEPINGIGNORED.isAuthorized(this) ? true : set);
if (set && !getData().isAfk())
{
- afkPosition = getLocation();
+ afkPosition = getPlayer().getLocation();
}
getData().setAfk(set);
}
@@ -347,7 +375,7 @@ public class User extends UserBase implements IUser
public boolean toggleAfk()
{
final boolean now = super.toggleAfk();
- this.setSleepingIgnored(Permissions.SLEEPINGIGNORED.isAuthorized(this) ? true : now);
+ this.getPlayer().setSleepingIgnored(Permissions.SLEEPINGIGNORED.isAuthorized(this) ? true : now);
return now;
}
@@ -441,7 +469,7 @@ public class User extends UserBase implements IUser
getData().setAfk(false);
if (broadcast && !hidden)
{
- ess.broadcastMessage(this, _("userIsNotAway", getDisplayName()));
+ ess.broadcastMessage(this, _("userIsNotAway", getPlayer().getDisplayName()));
}
}
lastActivity = System.currentTimeMillis();
@@ -466,13 +494,12 @@ public class User extends UserBase implements IUser
{
final String kickReason = _("autoAfkKickReason", autoafkkick / 60.0);
lastActivity = 0;
- kickPlayer(kickReason);
+ getPlayer().kickPlayer(kickReason);
- for (IPlayer player : ess.getServer().getOnlinePlayers())
+ for (Player player : ess.getServer().getOnlinePlayers())
{
- final IUser user = player.getUser();
- if (Permissions.KICK_NOTIFY.isAuthorized(user))
+ if (Permissions.KICK_NOTIFY.isAuthorized(player))
{
player.sendMessage(_("playerKicked", Console.NAME, getName(), kickReason));
}
@@ -487,7 +514,7 @@ public class User extends UserBase implements IUser
setAfk(true);
if (!hidden)
{
- ess.broadcastMessage(this, _("userIsAway", getDisplayName()));
+ ess.broadcastMessage(this, _("userIsAway", getPlayer().getDisplayName()));
}
}
}
@@ -513,7 +540,7 @@ public class User extends UserBase implements IUser
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
return (getData().isGodmode()
- && !settings.getData().getWorldOptions(getLocation().getWorld().getName()).isGodmode())
+ && !settings.getData().getWorldOptions(getPlayer().getLocation().getWorld().getName()).isGodmode())
|| (getData().isAfk() && settings.getData().getCommands().getAfk().isFreezeAFKPlayers());
}
finally
@@ -521,40 +548,40 @@ public class User extends UserBase implements IUser
unlock();
}
}
-
+
@Override
public void updateCompass()
{
try
{
- Location loc = getHome(getLocation());
+ Location loc = getHome(getPlayer().getLocation());
if (loc == null)
{
loc = getBedSpawnLocation();
}
if (loc != null)
{
- setCompassTarget(loc);
+ getPlayer().setCompassTarget(loc);
}
}
catch (Exception ex)
{
// Ignore
}
- }
+ }
@Override
public int compareTo(final IUser t)
{
- return Util.stripColor(this.getDisplayName()).compareTo(Util.stripColor(t.getDisplayName()));
+ return FormatUtil.stripColor(this.getPlayer().getDisplayName()).compareTo(FormatUtil.stripColor(t.getPlayer().getDisplayName()));
}
@Override
public void requestTeleport(IUser player, boolean here)
{
- teleportRequestTime = System.currentTimeMillis();
- teleportRequester = player;
- tpRequestHere = here;
+ teleportRequestTime = System.currentTimeMillis();
+ teleportRequester = player;
+ tpRequestHere = here;
}
@Override
@@ -589,7 +616,7 @@ public class User extends UserBase implements IUser
{
sendMessage(_("InvFull"));
}
- updateInventory();
+ getPlayer().updateInventory();
}
@Override
@@ -607,14 +634,14 @@ public class User extends UserBase implements IUser
{
sendMessage(_("InvFull"));
}
- updateInventory();
+ getPlayer().updateInventory();
}
private boolean giveItemStack(ItemStack itemStack, Boolean canSpew) throws ChargeException
{
boolean spew = false;
- if (itemStack == null || itemStack.isAir())
+ if (itemStack == null || itemStack.getTypeId() == 0)
{
return spew;
}
@@ -627,17 +654,17 @@ public class User extends UserBase implements IUser
settings.acquireReadLock();
int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize();
- overfilled = getInventory().addItem(true, oversizedStackSize, itemStack);
+ overfilled = InventoryWorkaround.addItem(getPlayer().getInventory(), true, oversizedStackSize, itemStack);
}
else
{
- overfilled = getInventory().addItem(true, itemStack);
+ overfilled = InventoryWorkaround.addItem(getPlayer().getInventory(), true, itemStack);
}
if (canSpew)
{
for (ItemStack overflowStack : overfilled.values())
{
- getWorld().dropItemNaturally(getLocation(), overflowStack);
+ getPlayer().getWorld().dropItemNaturally(getPlayer().getLocation(), overflowStack);
spew = true;
}
}
@@ -720,7 +747,7 @@ public class User extends UserBase implements IUser
{
if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(ess.getUserMap().getUser(p)))
{
- p.hidePlayer(getBase());
+ p.hidePlayer(getPlayer());
}
}
setHidden(true);
@@ -730,7 +757,7 @@ public class User extends UserBase implements IUser
{
for (Player p : ess.getServer().getOnlinePlayers())
{
- p.showPlayer(getBase());
+ p.showPlayer(getPlayer());
}
setHidden(false);
ess.getVanishedPlayers().remove(getName());
@@ -738,13 +765,6 @@ public class User extends UserBase implements IUser
}
@Override
- public void setName(String name)
- {
- //todo
- //throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
public void toggleVanished()
{
final boolean set = !vanished;
diff --git a/Essentials/src/net/ess3/user/UserBase.java b/Essentials/src/net/ess3/user/UserBase.java
index 9d0598fd1..2b0b7ae21 100644
--- a/Essentials/src/net/ess3/user/UserBase.java
+++ b/Essentials/src/net/ess3/user/UserBase.java
@@ -1,53 +1,150 @@
package net.ess3.user;
-import net.ess3.utils.Util;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+import lombok.Cleanup;
+import lombok.Delegate;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
+import net.ess3.api.IUser;
import net.ess3.api.InvalidNameException;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Location;
+import net.ess3.permissions.Permissions;
import net.ess3.storage.AsyncStorageObjectHolder;
import net.ess3.storage.IStorageObjectHolder;
import net.ess3.storage.StoredLocation.WorldNotLoadedException;
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import lombok.Cleanup;
-import lombok.Delegate;
+import net.ess3.utils.Util;
+import org.bukkit.Location;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionAttachment;
+import org.bukkit.permissions.PermissionAttachmentInfo;
+import org.bukkit.plugin.Plugin;
-public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implements Player, IStorageObjectHolder<UserData>
+public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implements OfflinePlayer, CommandSender, IStorageObjectHolder<UserData>
{
@Delegate
- protected Player base;
+ protected final OfflinePlayer offlinePlayer;
- public UserBase(final Player base, final IEssentials ess)
+ public UserBase(final OfflinePlayer base, final IEssentials ess)
{
super(ess, UserData.class);
- this.base = base;
+ this.offlinePlayer = base;
onReload();
}
+
+ @Override
+ public void sendMessage(String string)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ player.sendMessage(string);
+ }
+ }
+
+ @Override
+ public void sendMessage(String[] strings)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ player.sendMessage(strings);
+ }
+ }
+
+ @Override
+ public Server getServer()
+ {
+ return ess.getServer();
+ }
+
+ @Override
+ public boolean isPermissionSet(String string)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ return player.isPermissionSet(string);
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean isPermissionSet(Permission prmsn)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ return player.isPermissionSet(prmsn);
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean hasPermission(String string)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ return player.hasPermission(string);
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean hasPermission(Permission prmsn)
+ {
+ Player player = offlinePlayer.getPlayer();
+ if (player != null) {
+ return player.hasPermission(prmsn);
+ } else {
+ return false;
+ }
+ }
- public final Player getBase()
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String string, boolean bln)
{
- return base;
+ throw new UnsupportedOperationException("Not supported yet.");
}
- public final Player setBase(final Player base)
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin)
{
- return this.base = base;
+ throw new UnsupportedOperationException("Not supported yet.");
}
- public void update(final Player base)
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String string, boolean bln, int i)
{
- setBase(base);
+ throw new UnsupportedOperationException("Not supported yet.");
}
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+ @Override
+ public void removeAttachment(PermissionAttachment pa)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
- public void dispose()
+ @Override
+ public void recalculatePermissions()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Set<PermissionAttachmentInfo> getEffectivePermissions()
{
- this.base = null;
+ throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@@ -321,7 +418,7 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
}
try
{
- return getData().getHomes().get(Util.sanitizeKey(name)).getBukkitLocation();
+ return getData().getHomes().get(Util.sanitizeKey(name)).getStoredLocation();
}
catch (WorldNotLoadedException ex)
{
diff --git a/Essentials/src/net/ess3/user/UserData.java b/Essentials/src/net/ess3/user/UserData.java
index 20fb9abb7..e5e71099c 100644
--- a/Essentials/src/net/ess3/user/UserData.java
+++ b/Essentials/src/net/ess3/user/UserData.java
@@ -3,8 +3,8 @@ package net.ess3.user;
import java.util.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import net.ess3.api.server.Material;
import net.ess3.storage.*;
+import org.bukkit.Material;
diff --git a/Essentials/src/net/ess3/user/UserMap.java b/Essentials/src/net/ess3/user/UserMap.java
index 3a8e3684b..011ee578e 100644
--- a/Essentials/src/net/ess3/user/UserMap.java
+++ b/Essentials/src/net/ess3/user/UserMap.java
@@ -9,9 +9,10 @@ import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.api.IUserMap;
import net.ess3.api.InvalidNameException;
-import net.ess3.api.server.Player;
import net.ess3.storage.StorageObjectMap;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
+import org.bukkit.entity.Player;
public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@@ -36,19 +37,28 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@Override
public IUser load(final String name) throws Exception
{
- for (Player player : ess.getServer().getOnlinePlayers())
+ String lowercaseName = name.toLowerCase(Locale.ENGLISH);
+ if (!lowercaseName.equals(name))
{
- if (player.getName().equalsIgnoreCase(name))
+ IUser user = getUser(lowercaseName);
+ if (user == null)
{
- keys.add(name.toLowerCase(Locale.ENGLISH));
- return new User(player, ess);
+ throw new Exception("User not found!");
+ }
+ else
+ {
+ return user;
}
}
+ Player player = ess.getServer().getPlayerExact(name);
+ if (player != null) {
+ return new User(ess.getServer().getOfflinePlayer(player.getName()), ess);
+ }
final File userFile = getUserFile(name);
if (userFile.exists())
{
keys.add(name.toLowerCase(Locale.ENGLISH));
- return new User(Bukkit.getOfflinePlayer(name), ess);
+ return new User(ess.getServer().getOfflinePlayer(name), ess);
}
throw new Exception("User not found!");
}
@@ -80,36 +90,27 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@Override
public IUser getUser(final Player player)
{
- if (player instanceof IUser)
- {
- return (IUser)player;
- }
- IUser user = getUser(player.getName());
-
+ IUser user = getObject(player.getName());
if (user == null)
{
user = new User(player, ess);
}
- else
- {
- ((User)user).update(player);
- }
return user;
}
@Override
- public IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException
+ public IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline) throws TooManyMatchesException, PlayerNotFoundException
{
final Set<IUser> users = matchUsers(name, includeHidden, includeOffline);
- if (users == null || users.isEmpty())
+ if (users.isEmpty())
{
- return null;
+ throw new PlayerNotFoundException();
}
else
{
if (users.size() > 1)
{
- throw new TooManyMatchesException();
+ throw new TooManyMatchesException(users);
}
else
{
@@ -121,11 +122,11 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@Override
public Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline)
{
- final String colorlessName = Util.stripColor(name);
+ final String colorlessName = FormatUtil.stripColor(name);
final String[] search = colorlessName.split(",");
final boolean multisearch = search.length > 1;
final Set<IUser> result = new LinkedHashSet<IUser>();
- final String nicknamePrefix = Util.stripColor(getNickNamePrefix());
+ final String nicknamePrefix = FormatUtil.stripColor(getNickNamePrefix());
for (String searchString : search)
{
if (searchString.isEmpty())
@@ -147,7 +148,7 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
for (Player player : ess.getServer().getOnlinePlayers())
{
if (player.getName().equalsIgnoreCase(searchString)
- && (includeHidden || (includeOffline && player.getUser().isHidden())))
+ && (includeHidden || (includeOffline && getUser(player).isHidden())))
{
match = player;
break;
@@ -157,49 +158,50 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
{
if (multimatching || multisearch)
{
- result.add(match.getUser());
+ result.add(getUser(match));
}
else
{
- return Collections.singleton(match.getUser());
+ return Collections.singleton(getUser(match));
}
}
for (Player player : ess.getServer().getOnlinePlayers())
{
- final String nickname = player.getUser().getData().getNickname();
+ final String nickname = getUser(player).getData().getNickname();
if (nickname != null && !nickname.isEmpty()
&& nickname.equalsIgnoreCase(searchString)
- && (includeHidden || (includeOffline && player.getUser().isHidden())))
+ && (includeHidden || (includeOffline && getUser(player).isHidden())))
{
if (multimatching || multisearch)
{
- result.add(player.getUser());
+ result.add(getUser(player));
}
else
{
- return Collections.singleton(player.getUser());
+ return Collections.singleton(getUser(player));
}
}
}
if (includeOffline)
{
+ IUser matchu = null;
for (String playerName : getAllUniqueUsers())
{
if (playerName.equals(searchString))
{
- match = getUser(playerName);
+ matchu = getUser(playerName);
break;
}
}
- if (match != null)
+ if (matchu != null)
{
if (multimatching || multisearch)
{
- result.add(match.getUser());
+ result.add(matchu);
}
else
{
- return Collections.singleton(match.getUser());
+ return Collections.singleton(matchu);
}
}
}
@@ -208,17 +210,17 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
for (Player player : ess.getServer().getOnlinePlayers())
{
if (player.getName().toLowerCase(Locale.ENGLISH).startsWith(searchString)
- && (includeHidden || (includeOffline && player.getUser().isHidden())))
+ && (includeHidden || (includeOffline && getUser(player).isHidden())))
{
- result.add(player.getUser());
+ result.add(getUser(player));
break;
}
- final String nickname = player.getUser().getData().getNickname();
+ final String nickname = getUser(player).getData().getNickname();
if (nickname != null && !nickname.isEmpty()
&& nickname.toLowerCase(Locale.ENGLISH).startsWith(searchString)
- && (includeHidden || (includeOffline && player.getUser().isHidden())))
+ && (includeHidden || (includeOffline && getUser(player).isHidden())))
{
- result.add(player.getUser());
+ result.add(getUser(player));
break;
}
}
diff --git a/Essentials/src/net/ess3/utils/FormatUtil.java b/Essentials/src/net/ess3/utils/FormatUtil.java
new file mode 100644
index 000000000..f84368901
--- /dev/null
+++ b/Essentials/src/net/ess3/utils/FormatUtil.java
@@ -0,0 +1,151 @@
+package net.ess3.utils;
+
+import de.bananaco.bpermissions.imp.Permissions;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+import java.util.regex.Pattern;
+import lombok.Cleanup;
+import static net.ess3.I18n._;
+import net.ess3.api.IEssentials;
+import net.ess3.api.ISettings;
+import net.ess3.api.IUser;
+
+public class FormatUtil {
+ static final transient Pattern REPLACE_COLOR_PATTERN = Pattern.compile("&([0-9a-f])");
+ static final transient Pattern REPLACE_MAGIC_PATTERN = Pattern.compile("&(k)");
+ static final transient Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");
+ static final transient Pattern VANILLA_PATTERN = Pattern.compile("\u00a7+[0-9A-FK-ORa-fk-or]");
+ static final transient Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00a7+[0-9A-Fa-f]");
+ static final transient Pattern REPLACE_FORMAT_PATTERN = Pattern.compile("&([l-or])");
+ static final transient Pattern VANILLA_FORMAT_PATTERN = Pattern.compile("\u00a7+[L-ORl-or]");
+ static final transient Pattern VANILLA_MAGIC_PATTERN = Pattern.compile("\u00a7+[Kk]");
+ static final transient Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
+ static DecimalFormat dFormat = new DecimalFormat("#0.00", DecimalFormatSymbols.getInstance(Locale.US));
+
+ static String stripColor(final String input, final Pattern pattern)
+ {
+ return pattern.matcher(input).replaceAll("");
+ }
+
+ public static String stripColor(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
+ }
+
+ public static String blockURL(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ String text = URL_PATTERN.matcher(input).replaceAll("$1 $2");
+ while (URL_PATTERN.matcher(text).find())
+ {
+ text = URL_PATTERN.matcher(text).replaceAll("$1 $2");
+ }
+ return text;
+ }
+
+ static String replaceColor(final String input, final Pattern pattern)
+ {
+ return pattern.matcher(input).replaceAll("\u00a7$1");
+ }
+
+ public static String stripFormat(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ return VANILLA_PATTERN.matcher(input).replaceAll("");
+ }
+
+ public static String replaceFormat(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ return REPLACE_PATTERN.matcher(input).replaceAll("\u00a7$1");
+ }
+
+ public static String formatString(final IUser user, final String permBase, final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ String message;
+ if (Permissions.hasPermission(user.getPlayer(), permBase + ".color"))
+ {
+ message = replaceColor(input, REPLACE_COLOR_PATTERN);
+ }
+ else
+ {
+ message = stripColor(input, VANILLA_COLOR_PATTERN);
+ }
+ if (Permissions.hasPermission(user.getPlayer(), permBase + ".magic"))
+ {
+ message = replaceColor(message, REPLACE_MAGIC_PATTERN);
+ }
+ else
+ {
+ message = stripColor(message, VANILLA_MAGIC_PATTERN);
+ }
+ if (Permissions.hasPermission(user.getPlayer(), permBase + ".format"))
+ {
+ message = replaceColor(message, REPLACE_FORMAT_PATTERN);
+ }
+ else
+ {
+ message = stripColor(message, VANILLA_FORMAT_PATTERN);
+ }
+ return message;
+ }
+
+ public static String formatMessage(final IUser user, final String permBase, final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ String message = formatString(user, permBase, input);
+ if (!Permissions.hasPermission(user.getPlayer(), permBase + ".url"))
+ {
+ message = blockURL(message);
+ }
+ return message;
+ }
+
+ public static String shortCurrency(final double value, final IEssentials ess)
+ {
+ @Cleanup
+ final ISettings settings = ess.getSettings();
+ settings.acquireReadLock();
+ return settings.getData().getEconomy().getCurrencySymbol() + formatAsCurrency(value);
+ }
+
+ public static String displayCurrency(final double value, final IEssentials ess)
+ {
+ @Cleanup
+ final ISettings settings = ess.getSettings();
+ settings.acquireReadLock();
+ return _("currency", settings.getData().getEconomy().getCurrencySymbol(), formatAsCurrency(value));
+ }
+
+ public static String formatAsCurrency(final double value)
+ {
+ String str = dFormat.format(value);
+ if (str.endsWith(".00"))
+ {
+ str = str.substring(0, str.length() - 3);
+ }
+ return str;
+ }
+
+}
diff --git a/Essentials/src/net/ess3/utils/LocationUtil.java b/Essentials/src/net/ess3/utils/LocationUtil.java
index ecde8b8b7..3feac8303 100644
--- a/Essentials/src/net/ess3/utils/LocationUtil.java
+++ b/Essentials/src/net/ess3/utils/LocationUtil.java
@@ -1,6 +1,10 @@
package net.ess3.utils;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import static net.ess3.I18n._;
import org.bukkit.Location;
@@ -68,6 +72,47 @@ public class LocationUtil {
}
return block.getLocation();
}
+
+ public final static int RADIUS = 3;
+ public final static Vector3D[] VOLUME;
+
+
+ public static class Vector3D
+ {
+ public Vector3D(int x, int y, int z)
+ {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
+ public int x;
+ public int y;
+ public int z;
+ }
+
+ static
+ {
+ List<Vector3D> pos = new ArrayList<Vector3D>();
+ for (int x = -RADIUS; x <= RADIUS; x++)
+ {
+ for (int y = -RADIUS; y <= RADIUS; y++)
+ {
+ for (int z = -RADIUS; z <= RADIUS; z++)
+ {
+ pos.add(new Vector3D(x, y, z));
+ }
+ }
+ }
+ Collections.sort(pos, new Comparator<Vector3D>()
+ {
+ @Override
+ public int compare(Vector3D a, Vector3D b)
+ {
+ return (a.x * a.x + a.y * a.y + a.z * a.z) - (b.x * b.x + b.y * b.y + b.z * b.z);
+ }
+ });
+ VOLUME = pos.toArray(new Vector3D[0]);
+ }
public static Location getSafeDestination(final Location loc) throws Exception
{
@@ -79,25 +124,46 @@ public class LocationUtil {
int x = loc.getBlockX();
int y = (int)Math.round(loc.getY());
int z = loc.getBlockZ();
+ final int origX = x;
+ final int origY = y;
+ final int origZ = z;
while (isBlockAboveAir(world, x, y, z))
{
y -= 1;
if (y < 0)
{
+ y = origY;
break;
}
}
+ int i = 0;
+ while (isBlockUnsafe(world, x, y, z))
+ {
+ i++;
+ if (i >= VOLUME.length)
+ {
+ x = origX;
+ y = origY + RADIUS;
+ z = origZ;
+ break;
+ }
+ x = origX + VOLUME[i].x;
+ y = origY + VOLUME[i].y;
+ z = origZ + VOLUME[i].z;
+ }
+
while (isBlockUnsafe(world, x, y, z))
{
y += 1;
- if (y >= world.getHighestBlockYAt(x, z))
+ if (y >= world.getMaxHeight())
{
x += 1;
break;
}
}
+
while (isBlockUnsafe(world, x, y, z))
{
y -= 1;
@@ -105,7 +171,7 @@ public class LocationUtil {
{
x += 1;
y = world.getHighestBlockYAt(x, z);
- if (x - 32 > loc.getBlockX())
+ if (x - 48 > loc.getBlockX())
{
throw new Exception(_("holeInFloor"));
}
@@ -121,6 +187,15 @@ public class LocationUtil {
public static boolean isBlockUnsafe(final World world, final int x, final int y, final int z)
{
+ if (isBlockDamaging(world, x, y, z))
+ {
+ return true;
+ }
+ return isBlockAboveAir(world, x, y, z);
+ }
+
+ public static boolean isBlockDamaging(final World world, final int x, final int y, final int z)
+ {
final Block below = world.getBlockAt(x, y - 1, z);
if (below.getType() == Material.LAVA || below.getType() == Material.STATIONARY_LAVA)
{
@@ -132,11 +207,16 @@ public class LocationUtil {
return true;
}
+ if (below.getType() == Material.BED_BLOCK)
+ {
+ return true;
+ }
+
if ((!AIR_MATERIALS.contains(world.getBlockAt(x, y, z).getType().getId()))
|| (!AIR_MATERIALS.contains(world.getBlockAt(x, y + 1, z).getType().getId())))
{
return true;
}
- return isBlockAboveAir(world, x, y, z);
+ return false;
}
}
diff --git a/Essentials/src/net/ess3/utils/Util.java b/Essentials/src/net/ess3/utils/Util.java
index 273cd4679..7814c519d 100644
--- a/Essentials/src/net/ess3/utils/Util.java
+++ b/Essentials/src/net/ess3/utils/Util.java
@@ -1,26 +1,14 @@
package net.ess3.utils;
-import de.bananaco.bpermissions.imp.Permissions;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
import java.util.Collection;
import java.util.Locale;
import java.util.regex.Pattern;
-import lombok.Cleanup;
-import static net.ess3.I18n._;
-import net.ess3.api.IEssentials;
-import net.ess3.api.ISettings;
-import net.ess3.api.IUser;
import net.ess3.api.InvalidNameException;
import net.ess3.utils.gnu.inet.encoding.Punycode;
import net.ess3.utils.gnu.inet.encoding.PunycodeException;
-import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.permissions.Permission;
-import org.bukkit.permissions.PermissionDefault;
-import org.bukkit.plugin.PluginManager;
public final class Util
@@ -171,34 +159,6 @@ public final class Util
}
return is;
}
- private static DecimalFormat dFormat = new DecimalFormat("#0.00", DecimalFormatSymbols.getInstance(Locale.US));
-
- public static String formatAsCurrency(final double value)
- {
-
- String str = dFormat.format(value);
- if (str.endsWith(".00"))
- {
- str = str.substring(0, str.length() - 3);
- }
- return str;
- }
-
- public static String displayCurrency(final double value, final IEssentials ess)
- {
- @Cleanup
- final ISettings settings = ess.getSettings();
- settings.acquireReadLock();
- return _("currency", settings.getData().getEconomy().getCurrencySymbol(), formatAsCurrency(value));
- }
-
- public static String shortCurrency(final double value, final IEssentials ess)
- {
- @Cleanup
- final ISettings settings = ess.getSettings();
- settings.acquireReadLock();
- return settings.getData().getEconomy().getCurrencySymbol() + formatAsCurrency(value);
- }
public static double roundDouble(final double d)
{
@@ -251,192 +211,4 @@ public final class Util
}
return buf.toString();
}
-
- public static void registerPermissions(String path, Collection<String> nodes, boolean hasDefault, IEssentials ess)
- {
- if (nodes == null || nodes.isEmpty())
- {
- return;
- }
- final PluginManager pluginManager = ess.getServer().getPluginManager();
- Permission basePerm = pluginManager.getPermission(path + ".*");
- if (basePerm != null && !basePerm.getChildren().isEmpty())
- {
- basePerm.getChildren().clear();
- }
- if (basePerm == null)
- {
- basePerm = new Permission(path + ".*", PermissionDefault.OP);
- pluginManager.addPermission(basePerm);
- Permission mainPerm = pluginManager.getPermission("essentials.*");
- if (mainPerm == null)
- {
- mainPerm = new Permission("essentials.*", PermissionDefault.OP);
- pluginManager.addPermission(mainPerm);
- }
- mainPerm.getChildren().put(basePerm.getName(), Boolean.TRUE);
- }
-
- for (String nodeName : nodes)
- {
- final String permissionName = path + "." + nodeName;
- Permission perm = pluginManager.getPermission(permissionName);
- if (perm == null)
- {
- final PermissionDefault defaultPerm = hasDefault && nodeName.equalsIgnoreCase("default") ? PermissionDefault.TRUE : PermissionDefault.OP;
- perm = new Permission(permissionName, defaultPerm);
- pluginManager.addPermission(perm);
- }
- basePerm.getChildren().put(permissionName, Boolean.TRUE);
- }
- basePerm.recalculatePermissibles();
- }
- private static transient final Pattern DOT_PATTERN = Pattern.compile("\\.");
-
- public static Permission registerPermission(String permission, PermissionDefault defaultPerm)
- {
- final PluginManager pluginManager = Bukkit.getServer().getPluginManager();
- final String[] parts = DOT_PATTERN.split(permission);
- final StringBuilder builder = new StringBuilder(permission.length());
- Permission parent = null;
- for (int i = 0; i < parts.length - 1; i++)
- {
- builder.append(parts[i]).append(".*");
- String permString = builder.toString();
- Permission perm = pluginManager.getPermission(permString);
- if (perm == null)
- {
- perm = new Permission(permString, PermissionDefault.FALSE);
- pluginManager.addPermission(perm);
- if (parent != null)
- {
- parent.getChildren().put(perm.getName(), Boolean.TRUE);
- }
- parent = perm;
- }
- builder.deleteCharAt(builder.length() - 1);
- }
- Permission perm = pluginManager.getPermission(permission);
- if (perm == null)
- {
- perm = new Permission(permission, defaultPerm);
- pluginManager.addPermission(perm);
- if (parent != null)
- {
- parent.getChildren().put(perm.getName(), Boolean.TRUE);
- }
- parent = perm;
- }
- perm.recalculatePermissibles();
- return perm;
- }
- private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
- private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]");
- private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");
- private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-Fa-f]");
- private static transient final Pattern VANILLA_MAGIC_PATTERN = Pattern.compile("\u00A7+[Kk]");
- private static transient final Pattern VANILLA_FORMAT_PATTERN = Pattern.compile("\u00A7+[L-ORl-or]");
- private static transient final Pattern REPLACE_COLOR_PATTERN = Pattern.compile("&([0-9a-f])");
- private static transient final Pattern REPLACE_MAGIC_PATTERN = Pattern.compile("&(k)");
- private static transient final Pattern REPLACE_FORMAT_PATTERN = Pattern.compile("&([l-or])");
-
- public static String stripFormat(final String input)
- {
- if (input == null)
- {
- return null;
- }
- return VANILLA_PATTERN.matcher(input).replaceAll("");
- }
-
- public static String replaceFormat(final String input)
- {
- if (input == null)
- {
- return null;
- }
- return REPLACE_PATTERN.matcher(input).replaceAll("\u00a7$1");
- }
-
- public static String blockURL(final String input)
- {
- if (input == null)
- {
- return null;
- }
- String text = URL_PATTERN.matcher(input).replaceAll("$1 $2");
- while (URL_PATTERN.matcher(text).find())
- {
- text = URL_PATTERN.matcher(text).replaceAll("$1 $2");
- }
- return text;
- }
-
- public static String formatString(final IUser user, final String permBase, final String input)
- {
- if (input == null)
- {
- return null;
- }
- String message;
- if (Permissions.hasPermission(user.getBase(), permBase + ".color"))
- {
- message = Util.replaceColor(input, REPLACE_COLOR_PATTERN);
- }
- else
- {
- message = Util.stripColor(input, VANILLA_COLOR_PATTERN);
- }
- if (Permissions.hasPermission(user.getBase(), permBase + ".magic"))
- {
- message = Util.replaceColor(message, REPLACE_MAGIC_PATTERN);
- }
- else
- {
- message = Util.stripColor(message, VANILLA_MAGIC_PATTERN);
- }
- if (Permissions.hasPermission(user.getBase(), permBase + ".format"))
- {
- message = Util.replaceColor(message, REPLACE_FORMAT_PATTERN);
- }
- else
- {
- message = Util.stripColor(message, VANILLA_FORMAT_PATTERN);
- }
- return message;
- }
-
- public static String formatMessage(final IUser user, final String permBase, final String input)
- {
- if (input == null)
- {
- return null;
- }
- String message = formatString(user, permBase, input);
- if (!Permissions.hasPermission(user.getBase(), permBase + ".url"))
- {
- message = Util.blockURL(message);
- }
- return message;
- }
-
- public static String stripColor(final String input)
- {
- if (input == null)
- {
- return null;
- }
-
- return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
- }
-
- private static String stripColor(final String input, final Pattern pattern)
- {
- return pattern.matcher(input).replaceAll("");
- }
-
- private static String replaceColor(final String input, final Pattern pattern)
- {
- return pattern.matcher(input).replaceAll("\u00a7$1");
- }
}
diff --git a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
index 5b0a5066f..cd55511ca 100644
--- a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
+++ b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
@@ -1,17 +1,17 @@
package net.ess3.utils.textreader;
-import net.ess3.api.IEssentials;
-import net.ess3.api.IUser;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.World;
-import net.ess3.utils.DescParseTickFormat;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import lombok.Cleanup;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
+import net.ess3.utils.DescParseTickFormat;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -35,22 +35,22 @@ public class KeywordReplacer implements IText
String worlds, online, unique, playerlist, date, time;
String worldTime12, worldTime24, worldDate, plugins;
String userName, address, version;
- if (sender.isPlayer())
+ if (sender instanceof Player)
{
@Cleanup
- final IUser user = ((Player)sender).getUser();
+ final IUser user = ess.getUserMap().getUser((Player)sender);
user.acquireReadLock();
user.setDisplayNick();
- displayName = user.getDisplayName();
- userName = user.getName();
- ipAddress = user.getAddress() == null || user.getAddress().getAddress() == null ? "" : user.getAddress().getAddress().toString();
- address = user.getAddress() == null ? "" : user.getAddress().toString();
+ displayName = user.getPlayer().getDisplayName();
+ userName = user.getPlayer().getName();
+ ipAddress = user.getPlayer().getAddress() == null || user.getPlayer().getAddress().getAddress() == null ? "" : user.getPlayer().getAddress().getAddress().toString();
+ address = user.getPlayer().getAddress() == null ? "" : user.getPlayer().getAddress().toString();
balance = Double.toString(user.getMoney());
mails = Integer.toString(user.getData().getMails() == null ? 0 : user.getData().getMails().size());
- world = user.getLocation() == null || user.getLocation().getWorld() == null ? "" : user.getLocation().getWorld().getName();
- worldTime12 = DescParseTickFormat.format12(user.getWorld() == null ? 0 : user.getWorld().getTime());
- worldTime24 = DescParseTickFormat.format24(user.getWorld() == null ? 0 : user.getWorld().getTime());
- worldDate = DateFormat.getDateInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(DescParseTickFormat.ticksToDate(user.getWorld() == null ? 0 : user.getWorld().getFullTime()));
+ world = user.getPlayer().getLocation() == null || user.getPlayer().getLocation().getWorld() == null ? "" : user.getPlayer().getLocation().getWorld().getName();
+ worldTime12 = DescParseTickFormat.format12(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getTime());
+ worldTime24 = DescParseTickFormat.format24(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getTime());
+ worldDate = DateFormat.getDateInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(DescParseTickFormat.ticksToDate(user.getPlayer().getWorld() == null ? 0 : user.getPlayer().getWorld().getFullTime()));
}
else
{
@@ -60,12 +60,12 @@ public class KeywordReplacer implements IText
int playerHidden = 0;
for (Player p : ess.getServer().getOnlinePlayers())
{
- if (p.getUser().isHidden())
+ if (ess.getUserMap().getUser(p).isHidden())
{
playerHidden++;
}
}
- online = Integer.toString(ess.getServer().getOnlinePlayers().size() - playerHidden);
+ online = Integer.toString(ess.getServer().getOnlinePlayers().length - playerHidden);
unique = Integer.toString(ess.getUserMap().getUniqueUsers());
final StringBuilder worldsBuilder = new StringBuilder();
@@ -82,7 +82,7 @@ public class KeywordReplacer implements IText
final StringBuilder playerlistBuilder = new StringBuilder();
for (Player p : ess.getServer().getOnlinePlayers())
{
- if (p.getUser().isHidden())
+ if (ess.getUserMap().getUser(p).isHidden())
{
continue;
}
diff --git a/Essentials/src/net/ess3/utils/textreader/TextInput.java b/Essentials/src/net/ess3/utils/textreader/TextInput.java
index b0a0707af..a8162b140 100644
--- a/Essentials/src/net/ess3/utils/textreader/TextInput.java
+++ b/Essentials/src/net/ess3/utils/textreader/TextInput.java
@@ -4,6 +4,12 @@ import java.io.*;
import java.lang.ref.SoftReference;
import java.util.*;
import java.util.logging.Level;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
+import net.ess3.api.InvalidNameException;
+import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
public class TextInput implements IText
@@ -18,11 +24,11 @@ public class TextInput implements IText
{
File file = null;
- if (sender.isPlayer())
+ if (sender instanceof Player)
{
try
{
- final IUser user = ((Player)sender).getUser();
+ final IUser user = ess.getUserMap().getUser((Player)sender);
file = new File(ess.getPlugin().getDataFolder(), filename + "_" + Util.sanitizeFileName(user.getName()) + ".txt");
if (!file.exists())
{
@@ -78,9 +84,9 @@ public class TextInput implements IText
if (line.length() > 0 && line.charAt(0) == '#')
{
bookmarks.put(line.substring(1).toLowerCase(Locale.ENGLISH).replaceAll("&[0-9a-fk]", ""), lineNumber);
- chapters.add(line.substring(1).replace('&', '§').replace("§§", "&"));
+ chapters.add(line.substring(1).replace('&', '\u00a7').replace("\u00a7\u00a7", "&"));
}
- lines.add(line.replace('&', '§').replace("§§", "&"));
+ lines.add(line.replace('&', '\u00a7').replace("\u00a7\u00a7", "&"));
lineNumber++;
}
}
diff --git a/Essentials/src/net/ess3/utils/textreader/TextPager.java b/Essentials/src/net/ess3/utils/textreader/TextPager.java
index 099d9bbb7..88f00125c 100644
--- a/Essentials/src/net/ess3/utils/textreader/TextPager.java
+++ b/Essentials/src/net/ess3/utils/textreader/TextPager.java
@@ -5,7 +5,7 @@ import java.util.Locale;
import java.util.Map;
import net.ess3.I18n;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
+import org.bukkit.command.CommandSender;
public class TextPager
diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml
index 85c88ad91..27c9d23df 100644
--- a/Essentials/src/plugin.yml
+++ b/Essentials/src/plugin.yml
@@ -1,6 +1,6 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: Essentials-3
-main: net.ess3.Essentials
+main: net.ess3.bukkit.BukkitPlugin
# Note to developers: This next line cannot change, or the automatic versioning system will break.
version: ${build.number}
website: http://tiny.cc/EssentialsWiki
@@ -87,6 +87,10 @@ commands:
description: Enchants the item the user is holding.
usage: /<command> <enchantmentname> [level]
aliases: [enchantment,eenchant,eenchantment]
+ enderchest:
+ description: Lets you see inside an enderchest.
+ usage: /<command> [player]
+ aliases: [endersee,echest,eenderchest,eendersee,eechest]
essentials:
description: Reloads essentials.
usage: /<command>
@@ -330,6 +334,10 @@ commands:
description: Spawns a mob.
usage: /<command> <mob>[:data][,<mount>[:data]] [amount] [player]
aliases: [espawnmob,mob,emob]
+ speed:
+ description: Change your speed limits
+ usage: /<command> <speed> [player]
+ aliases: [flyspeed,walkspeed,fspeed,wspeed,eflyspeed,ewalkspeed,efspeed,ewspeed,espeed]
sudo:
description: Make another user perform a command.
usage: /<command> <player> <command [args]>
@@ -441,7 +449,7 @@ commands:
workbench:
description: Opens up a workbench
usage: /<command>
- aliases: [eworkbench,wb,ewb,wbench,ewbench]
+ aliases: [eworkbench,wb,ewb,wbench,ewbench,craft,ecraft]
world:
description: Switch between worlds.
usage: /<command> [world]
diff --git a/Essentials/test/net/ess3/EconomyTest.java b/Essentials/test/net/ess3/EconomyTest.java
index 74554a698..9acb12f61 100644
--- a/Essentials/test/net/ess3/EconomyTest.java
+++ b/Essentials/test/net/ess3/EconomyTest.java
@@ -13,7 +13,7 @@ public class EconomyTest extends EssentialsTest
public EconomyTest(final String testName)
{
super(testName);
- server.addPlayer(PLAYERNAME);
+ addPlayer(PLAYERNAME);
}
// only one big test, since we use static instances
diff --git a/Essentials/test/net/ess3/EssentialsTest.java b/Essentials/test/net/ess3/EssentialsTest.java
index 7257a33ad..e32cc123f 100644
--- a/Essentials/test/net/ess3/EssentialsTest.java
+++ b/Essentials/test/net/ess3/EssentialsTest.java
@@ -1,29 +1,111 @@
package net.ess3;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
import java.util.logging.Logger;
import junit.framework.TestCase;
-import net.ess3.testserver.TestPlugin;
-import net.ess3.testserver.TestServer;
-import net.ess3.testserver.TestWorld;
+import net.ess3.api.IPlugin;
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
+import org.bukkit.World;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.PluginManager;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.*;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
-public abstract class EssentialsTest extends TestCase {
- protected final transient TestServer server;
- protected final transient TestPlugin plugin;
- protected final transient TestWorld world;
+
+public abstract class EssentialsTest extends TestCase
+{
+ protected final transient Server server;
+ protected final transient IPlugin plugin;
+ protected final transient World world;
protected final transient Logger logger;
protected final transient Essentials ess;
-
+ protected final transient List<Player> playerList;
public EssentialsTest(final String testName)
{
super(testName);
logger = Logger.getLogger(this.getName());
- server = new TestServer();
- world = (TestWorld)server.getWorlds().get(0);
- plugin = new TestPlugin();
+ world = mock(World.class);
+ playerList = new ArrayList<Player>();
+ if (Bukkit.getServer() == null)
+ {
+ server = mock(Server.class);
+ PluginManager pluginManager = mock(PluginManager.class);
+ when(pluginManager.getPlugins()).thenReturn(new Plugin[0]);
+ when(server.getLogger()).thenReturn(logger);
+ when(server.getOnlinePlayers()).thenReturn(playerList.toArray(new Player[0]));
+ when(server.getPlayerExact(anyString())).thenAnswer(new Answer<Player>()
+ {
+ @Override
+ public Player answer(InvocationOnMock invocation) throws Throwable
+ {
+ Object[] args = invocation.getArguments();
+ String name = (String)args[0];
+ for (Player player : playerList)
+ {
+ if (player.getName().equalsIgnoreCase(name))
+ {
+ return player;
+ }
+ }
+ return null;
+ }
+ });
+ when(server.getPluginManager()).thenReturn(pluginManager);
+ when(server.getOfflinePlayers()).thenReturn(playerList.toArray(new Player[0]));
+ when(server.getOfflinePlayer(anyString())).thenAnswer(new Answer<OfflinePlayer>()
+ {
+ @Override
+ public OfflinePlayer answer(InvocationOnMock invocation) throws Throwable
+ {
+ Object[] args = invocation.getArguments();
+ String name = (String)args[0];
+ OfflinePlayer player = mock(OfflinePlayer.class);
+ when(player.getName()).thenReturn(name);
+ return player;
+ }
+ });
+ Bukkit.setServer(server);
+ }
+ else
+ {
+ server = Bukkit.getServer();
+ }
+ plugin = mock(IPlugin.class);
+
+
+ File tmp;
+ try
+ {
+ tmp = File.createTempFile("ess", "tmp");
+ }
+ catch (IOException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ tmp.deleteOnExit();
+ when(plugin.getDataFolder()).thenReturn(tmp.getParentFile());
+ when(world.getName()).thenReturn("world");
+
ess = new Essentials(server, logger, plugin);
+ ess.getI18n().updateLocale("en_US");
Essentials.testing = true;
ess.onEnable();
}
-
+
+ protected void addPlayer(String name)
+ {
+ Player player = mock(Player.class);
+ when(player.getName()).thenReturn(name);
+ playerList.add(player);
+ }
}
diff --git a/Essentials/test/net/ess3/FakeOfflinePlayer.java b/Essentials/test/net/ess3/FakeOfflinePlayer.java
deleted file mode 100644
index de1f9064e..000000000
--- a/Essentials/test/net/ess3/FakeOfflinePlayer.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package net.ess3;
-
-import java.util.Map;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.entity.Player;
-
-
-public class FakeOfflinePlayer implements OfflinePlayer
-{
- private final transient String name;
-
- public FakeOfflinePlayer(String name)
- {
- this.name = name;
- }
-
- @Override
- public boolean isOnline()
- {
- return false;
- }
-
- @Override
- public String getName()
- {
- return name;
- }
-
- @Override
- public boolean isBanned()
- {
- return false;
- }
-
- @Override
- public void setBanned(boolean bln)
- {
- }
-
- @Override
- public boolean isWhitelisted()
- {
- return false;
- }
-
- @Override
- public void setWhitelisted(boolean bln)
- {
- }
-
- @Override
- public Player getPlayer()
- {
- return Bukkit.getPlayerExact(name);
- }
-
- @Override
- public long getFirstPlayed()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getLastPlayed()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasPlayedBefore()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isOp()
- {
- return false;
- }
-
- @Override
- public void setOp(boolean bln)
- {
- }
-
- @Override
- public Map<String, Object> serialize()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getBedSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials/test/net/ess3/FakeServer.java b/Essentials/test/net/ess3/FakeServer.java
deleted file mode 100644
index aeed3e4b8..000000000
--- a/Essentials/test/net/ess3/FakeServer.java
+++ /dev/null
@@ -1,934 +0,0 @@
-package net.ess3;
-
-import com.avaje.ebean.config.ServerConfig;
-import java.io.File;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.Future;
-import java.util.logging.Logger;
-import org.bukkit.World.Environment;
-import org.bukkit.*;
-import org.bukkit.command.CommandSender;
-import org.bukkit.command.ConsoleCommandSender;
-import org.bukkit.command.PluginCommand;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Event;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.inventory.InventoryType;
-import org.bukkit.help.HelpMap;
-import org.bukkit.inventory.Inventory;
-import org.bukkit.inventory.InventoryHolder;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.Recipe;
-import org.bukkit.map.MapView;
-import org.bukkit.permissions.Permissible;
-import org.bukkit.permissions.Permission;
-import org.bukkit.plugin.*;
-import org.bukkit.plugin.messaging.Messenger;
-import org.bukkit.scheduler.BukkitScheduler;
-import org.bukkit.scheduler.BukkitTask;
-import org.bukkit.scheduler.BukkitWorker;
-
-
-public class FakeServer implements Server
-{
- private List<Player> players = new ArrayList<Player>();
- private final List<World> worlds = new ArrayList<World>();
-
- public FakeServer()
- {
- if (Bukkit.getServer() == null)
- {
- Bukkit.setServer(this);
- }
- }
-
- public String getName()
- {
- return "Essentials Fake Server";
- }
-
- public String getVersion()
- {
- return "1.0";
- }
-
- @Override
- public Player[] getOnlinePlayers()
- {
- return players.toArray(new Player[0]);
- }
-
- public void setOnlinePlayers(List<Player> players)
- {
- this.players = players;
- }
-
- @Override
- public int getMaxPlayers()
- {
- return 100;
- }
-
- @Override
- public int getPort()
- {
- return 25565;
- }
-
- @Override
- public String getIp()
- {
- return "127.0.0.1";
- }
-
- @Override
- public String getServerName()
- {
- return "Test Server";
- }
-
- @Override
- public String getServerId()
- {
- return "Test Server";
- }
-
- @Override
- public int broadcastMessage(String string)
- {
- int i = 0;
- for (Player player : players)
- {
- player.sendMessage(string);
- i++;
- }
- return i;
- }
-
- @Override
- public String getUpdateFolder()
- {
- return "update";
- }
-
- @Override
- public File getUpdateFolderFile()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Player getPlayer(String string)
- {
- for (Player player : players)
- {
- if (player.getName().equalsIgnoreCase(string))
- {
- return player;
- }
- }
- return null;
- }
-
- @Override
- public List<Player> matchPlayer(String string)
- {
- List<Player> matches = new ArrayList<Player>();
- for (Player player : players)
- {
- if (player.getName().substring(0, Math.min(player.getName().length(), string.length())).equalsIgnoreCase(string))
- {
- matches.add(player);
- }
- }
- return matches;
- }
- private PluginManager pManager = new PluginManager()
- {
- private Set<Permission> permissions = new HashSet<Permission>();
-
- @Override
- public void registerInterface(Class<? extends PluginLoader> type) throws IllegalArgumentException
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Plugin getPlugin(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Plugin[] getPlugins()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isPluginEnabled(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isPluginEnabled(Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Plugin[] loadPlugins(File file)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void disablePlugins()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void clearPlugins()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void callEvent(Event event)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void registerEvents(Listener ll, Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void registerEvent(Class<? extends Event> type, Listener ll, EventPriority ep, EventExecutor ee, Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void enablePlugin(Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void disablePlugin(Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Permission getPermission(String string)
- {
- for (Permission permission : permissions)
- {
- if (permission.getName().equals(string))
- {
- return permission;
- }
- }
- return null;
- }
-
- @Override
- public void addPermission(Permission prmsn)
- {
- permissions.add(prmsn);
- }
-
- @Override
- public void removePermission(Permission prmsn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void removePermission(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<Permission> getDefaultPermissions(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void recalculatePermissionDefaults(Permission prmsn)
- {
- }
-
- @Override
- public void subscribeToPermission(String string, Permissible prmsbl)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void unsubscribeFromPermission(String string, Permissible prmsbl)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<Permissible> getPermissionSubscriptions(String string)
- {
- return Collections.emptySet();
- }
-
- @Override
- public void subscribeToDefaultPerms(boolean bln, Permissible prmsbl)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void unsubscribeFromDefaultPerms(boolean bln, Permissible prmsbl)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<Permissible> getDefaultPermSubscriptions(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<Permission> getPermissions()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean useTimings()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void registerEvent(Class<? extends Event> type, Listener ll, EventPriority ep, EventExecutor ee, Plugin plugin, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- };
-
- @Override
- public PluginManager getPluginManager()
- {
- return pManager;
- }
-
- @Override
- public BukkitScheduler getScheduler()
- {
- return new BukkitScheduler()
- {
- @Override
- public int scheduleSyncDelayedTask(Plugin plugin, Runnable r, long l)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleSyncDelayedTask(Plugin plugin, Runnable r)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleSyncRepeatingTask(Plugin plugin, Runnable r, long l, long l1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleAsyncDelayedTask(Plugin plugin, Runnable r, long l)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleAsyncDelayedTask(Plugin plugin, Runnable r)
- {
- r.run();
- return 0;
- }
-
- @Override
- public int scheduleAsyncRepeatingTask(Plugin plugin, Runnable r, long l, long l1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T> Future<T> callSyncMethod(Plugin plugin, Callable<T> clbl)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void cancelTask(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void cancelTasks(Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void cancelAllTasks()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isCurrentlyRunning(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isQueued(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<BukkitWorker> getActiveWorkers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<BukkitTask> getPendingTasks()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- };
- }
-
- @Override
- public ServicesManager getServicesManager()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<World> getWorlds()
- {
- return worlds;
- }
-
- public World createWorld(String string, Environment e)
- {
- World w = new FakeWorld(string, e);
- worlds.add(w);
- return w;
- }
-
- public World createWorld(String string, Environment e, long l)
- {
- World w = new FakeWorld(string, e);
- worlds.add(w);
- return w;
- }
-
- @Override
- public World getWorld(String string)
- {
- for (World world : worlds)
- {
- if (world.getName().equalsIgnoreCase(string))
- {
- return world;
- }
- }
- return null;
- }
-
- @Override
- public void reload()
- {
- }
-
- @Override
- public Logger getLogger()
- {
- return Logger.getLogger("Minecraft");
- }
-
- @Override
- public PluginCommand getPluginCommand(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void savePlayers()
- {
- }
-
- @Override
- public boolean dispatchCommand(CommandSender cs, String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void configureDbConfig(ServerConfig sc)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean addRecipe(Recipe recipe)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public void addPlayer(Player base1)
- {
- players.add(base1);
- }
-
- @Override
- public World createWorld(WorldCreator creator)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadWorld(String string, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadWorld(World world, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Map<String, String[]> getCommandAliases()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getSpawnRadius()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setSpawnRadius(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getOnlineMode()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public World getWorld(long l)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public World getWorld(UUID uuid)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getViewDistance()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getAllowNether()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasWhitelist()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public MapView getMap(short s)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public MapView createMap(World world)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getAllowFlight()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setWhitelist(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<org.bukkit.OfflinePlayer> getWhitelistedPlayers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void reloadWhitelist()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Player getPlayerExact(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void shutdown()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int broadcast(String string, String string1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public org.bukkit.OfflinePlayer getOfflinePlayer(final String string)
- {
- return new org.bukkit.OfflinePlayer()
- {
- @Override
- public boolean isOnline()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getName()
- {
- return string;
- }
-
- @Override
- public boolean isBanned()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setBanned(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isWhitelisted()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setWhitelisted(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Player getPlayer()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isOp()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setOp(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Map<String, Object> serialize()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getFirstPlayed()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getLastPlayed()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasPlayedBefore()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getBedSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- };
- }
-
- @Override
- public Set<String> getIPBans()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void banIP(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void unbanIP(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<org.bukkit.OfflinePlayer> getBannedPlayers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public GameMode getDefaultGameMode()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setDefaultGameMode(GameMode gamemode)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public ConsoleCommandSender getConsoleSender()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set getOperators()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getBukkitVersion()
- {
- return "Essentials Fake-Server";
- }
-
- @Override
- public File getWorldContainer()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public OfflinePlayer[] getOfflinePlayers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getAllowEnd()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Messenger getMessenger()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void sendPluginMessage(Plugin plugin, String string, byte[] bytes)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<String> getListeningPluginChannels()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean useExactLoginLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getTicksPerAnimalSpawns()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getTicksPerMonsterSpawns()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<Recipe> getRecipesFor(ItemStack is)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Iterator<Recipe> recipeIterator()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void clearRecipes()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void resetRecipes()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public HelpMap getHelpMap()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Inventory createInventory(InventoryHolder ih, InventoryType it)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Inventory createInventory(InventoryHolder ih, int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Inventory createInventory(InventoryHolder ih, int i, String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getWorldType()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getGenerateStructures()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getConnectionThrottle()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getMonsterSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getAnimalSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getWaterAnimalSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isPrimaryThread()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getMotd()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-}
diff --git a/Essentials/test/net/ess3/FakeWorld.java b/Essentials/test/net/ess3/FakeWorld.java
deleted file mode 100644
index fb617d98b..000000000
--- a/Essentials/test/net/ess3/FakeWorld.java
+++ /dev/null
@@ -1,678 +0,0 @@
-package net.ess3;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-import org.bukkit.*;
-import org.bukkit.block.Biome;
-import org.bukkit.block.Block;
-import org.bukkit.entity.*;
-import org.bukkit.generator.BlockPopulator;
-import org.bukkit.generator.ChunkGenerator;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.metadata.MetadataValue;
-import org.bukkit.plugin.Plugin;
-import org.bukkit.util.Vector;
-
-
-public class FakeWorld implements World
-{
- private final String name;
- private final Environment env;
-
- public FakeWorld(String string, Environment environment)
- {
- this.name = string;
- this.env = environment;
- }
-
- @Override
- public Block getBlockAt(int i, int i1, int i2)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Block getBlockAt(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getBlockTypeIdAt(int i, int i1, int i2)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getBlockTypeIdAt(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getHighestBlockYAt(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getHighestBlockYAt(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Chunk getChunkAt(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Chunk getChunkAt(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Chunk getChunkAt(Block block)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isChunkLoaded(Chunk chunk)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Chunk[] getLoadedChunks()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void loadChunk(Chunk chunk)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isChunkLoaded(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void loadChunk(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean loadChunk(int i, int i1, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunk(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunk(int i, int i1, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunk(int i, int i1, boolean bln, boolean bln1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunkRequest(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunkRequest(int i, int i1, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean regenerateChunk(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean refreshChunk(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Item dropItem(Location lctn, ItemStack is)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Item dropItemNaturally(Location lctn, ItemStack is)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Arrow spawnArrow(Location lctn, Vector vector, float f, float f1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean generateTree(Location lctn, TreeType tt)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean generateTree(Location lctn, TreeType tt, BlockChangeDelegate bcd)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public LivingEntity spawnCreature(Location lctn, CreatureType ct)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public LightningStrike strikeLightning(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public LightningStrike strikeLightningEffect(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<Entity> getEntities()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<LivingEntity> getLivingEntities()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<Player> getPlayers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getName()
- {
- return name;
- }
-
- @Override
- public Location getSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean setSpawnLocation(int i, int i1, int i2)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getTime()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setTime(long l)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getFullTime()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setFullTime(long l)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasStorm()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setStorm(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getWeatherDuration()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setWeatherDuration(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isThundering()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setThundering(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getThunderDuration()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setThunderDuration(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Environment getEnvironment()
- {
- return env;
- }
-
- @Override
- public long getSeed()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getPVP()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setPVP(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void save()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean createExplosion(double d, double d1, double d2, float f)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean createExplosion(Location lctn, float f)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public ChunkGenerator getGenerator()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<BlockPopulator> getPopulators()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void playEffect(Location lctn, Effect effect, int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void playEffect(Location lctn, Effect effect, int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean createExplosion(double d, double d1, double d2, float f, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean createExplosion(Location lctn, float f, boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T extends Entity> T spawn(Location lctn, Class<T> type) throws IllegalArgumentException
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public ChunkSnapshot getEmptyChunkSnapshot(int i, int i1, boolean bln, boolean bln1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setSpawnFlags(boolean bln, boolean bln1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getAllowAnimals()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getAllowMonsters()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public UUID getUID()
- {
- return UUID.randomUUID();
- }
-
- @Override
- public Block getHighestBlockAt(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Block getHighestBlockAt(Location lctn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Biome getBiome(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public double getTemperature(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public double getHumidity(int i, int i1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean unloadChunk(Chunk chunk)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getMaxHeight()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean getKeepSpawnInMemory()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setKeepSpawnInMemory(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isAutoSave()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setAutoSave(boolean bln)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Difficulty getDifficulty()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setDifficulty(Difficulty difficulty)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getSeaLevel()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public File getWorldFolder()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T extends Entity> Collection<T> getEntitiesByClass(Class<T>... types)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public WorldType getWorldType()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void sendPluginMessage(Plugin plugin, String string, byte[] bytes)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Set<String> getListeningPluginChannels()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean canGenerateStructures()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getTicksPerAnimalSpawns()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setTicksPerAnimalSpawns(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getTicksPerMonsterSpawns()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setTicksPerMonsterSpawns(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T extends Entity> Collection<T> getEntitiesByClass(Class<T> type)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Collection<Entity> getEntitiesByClasses(Class<?>... types)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public LivingEntity spawnCreature(Location arg0, EntityType arg1)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T> void playEffect(Location lctn, Effect effect, T t)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T> void playEffect(Location lctn, Effect effect, T t, int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setMetadata(String string, MetadataValue mv)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public List<MetadataValue> getMetadata(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasMetadata(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void removeMetadata(String string, Plugin plugin)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setBiome(int arg0, int arg1, Biome arg2)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getMonsterSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setMonsterSpawnLimit(int arg0)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getAnimalSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setAnimalSpawnLimit(int arg0)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getWaterAnimalSpawnLimit()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setWaterAnimalSpawnLimit(int arg0)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Entity spawnEntity(Location loc, EntityType type)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-}
diff --git a/Essentials/test/net/ess3/StorageTest.java b/Essentials/test/net/ess3/StorageTest.java
index 4ba1e6400..8274f0e91 100644
--- a/Essentials/test/net/ess3/StorageTest.java
+++ b/Essentials/test/net/ess3/StorageTest.java
@@ -1,13 +1,13 @@
package net.ess3;
import java.io.*;
-import net.ess3.api.server.Location;
import net.ess3.settings.Settings;
import net.ess3.storage.ObjectLoadException;
import net.ess3.storage.StorageObject;
import net.ess3.storage.YamlStorageReader;
import net.ess3.storage.YamlStorageWriter;
import net.ess3.utils.ExecuteTimer;
+import org.bukkit.Location;
import org.junit.Test;
@@ -75,7 +75,7 @@ public class StorageTest extends EssentialsTest
for (int j = 0; j < 10000; j++)
{
- userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(Location.create(world, j, j, j)));
+ userdata.getHomes().put("home", new net.ess3.storage.StoredLocation(new Location(world, j, j, j)));
}
ext.mark("change home 10000 times");
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
diff --git a/Essentials/test/net/ess3/UserTest.java b/Essentials/test/net/ess3/UserTest.java
index 220f56f3c..364c345a9 100644
--- a/Essentials/test/net/ess3/UserTest.java
+++ b/Essentials/test/net/ess3/UserTest.java
@@ -1,11 +1,6 @@
package net.ess3;
-import java.io.IOException;
-import junit.framework.TestCase;
import net.ess3.api.IUser;
-import net.ess3.user.User;
-import org.bukkit.World.Environment;
-import org.bukkit.plugin.InvalidDescriptionException;
public class UserTest extends EssentialsTest
@@ -16,7 +11,7 @@ public class UserTest extends EssentialsTest
{
super(testName);
- server.addPlayer("testPlayer1");
+ addPlayer("testPlayer1");
base1 = ess.getUserMap().getUser("testPlayer1");
}
diff --git a/Essentials/test/net/ess3/UtilTest.java b/Essentials/test/net/ess3/UtilTest.java
index dc7dc7b66..77035da03 100644
--- a/Essentials/test/net/ess3/UtilTest.java
+++ b/Essentials/test/net/ess3/UtilTest.java
@@ -1,13 +1,12 @@
package net.ess3;
-import net.ess3.api.InvalidNameException;
-import net.ess3.utils.DateUtil;
-import net.ess3.utils.Util;
-
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;
+import net.ess3.api.InvalidNameException;
+import net.ess3.utils.DateUtil;
+import net.ess3.utils.Util;
public class UtilTest extends EssentialsTest
diff --git a/Essentials/test/net/ess3/testserver/TestPlayer.java b/Essentials/test/net/ess3/testserver/TestPlayer.java
deleted file mode 100644
index 5f4e75f17..000000000
--- a/Essentials/test/net/ess3/testserver/TestPlayer.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package net.ess3.testserver;
-
-import net.ess3.api.IUser;
-import net.ess3.api.server.*;
-
-public class TestPlayer implements Player {
-
- @Override
- public IUser getUser()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getName()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getDisplayName()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isOnline()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setBanned(boolean bool)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void kickPlayer(String reason)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public TestWorld getWorld()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getEyeLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setFireTicks(int value)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setFoodLevel(int value)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setSaturation(float value)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getHealth()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setHealth(int value)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void updateInventory()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public ItemStack getItemInHand()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getBedSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasPlayedBefore()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public IInventory getInventory()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isPlayer()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void sendMessage(String message)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isOp()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean hasPermission(Permission bukkitPermission)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void sendMessage(String[] string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setTotalExperience(int exp)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getTotalExperience()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setDisplayName(String name)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setPlayerListName(String name)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setSleepingIgnored(boolean b)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isBanned()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setCompassTarget(Location loc)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void damage(int value)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean isInSurvivalMode()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials/test/net/ess3/testserver/TestPlugin.java b/Essentials/test/net/ess3/testserver/TestPlugin.java
deleted file mode 100644
index 6d624ab6d..000000000
--- a/Essentials/test/net/ess3/testserver/TestPlugin.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package net.ess3.testserver;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.logging.Logger;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Plugin;
-import net.ess3.api.server.Server;
-
-public class TestPlugin implements Plugin {
-
- @Override
- public int scheduleAsyncDelayedTask(Runnable run)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleSyncDelayedTask(Runnable run)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleSyncDelayedTask(Runnable run, long delay)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleSyncRepeatingTask(Runnable run, long delay, long period)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public File getRootFolder()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public File getDataFolder()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void cancelTask(int taskId)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getVersion()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Class getClassByName(String name)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public InputStream getResource(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int scheduleAsyncRepeatingTask(Runnable run, long delay, long period)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location callRespawnEvent(Player player, Location loc, boolean bedSpawn)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void callSuicideEvent(Player player)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Logger getLogger()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Server getServer()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials/test/net/ess3/testserver/TestServer.java b/Essentials/test/net/ess3/testserver/TestServer.java
deleted file mode 100644
index 40b4cb217..000000000
--- a/Essentials/test/net/ess3/testserver/TestServer.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package net.ess3.testserver;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Player;
-import net.ess3.api.server.Server;
-import net.ess3.api.server.World;
-
-public class TestServer implements Server {
-
- public TestServer()
- {
- }
-
-
-
- @Override
- public List<World> getWorlds()
- {
- return Collections.<World>singletonList(new TestWorld());
- }
-
- @Override
- public World getWorld(final String name)
- {
- final World world = getWorlds().get(0);
- if (name.equals(world.getName())) {
- return world;
- } else {
- return null;
- }
- }
-
- public void addPlayer(final String name)
- {
-
- }
-
- @Override
- public int broadcastMessage(String message)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Collection<Player> getOnlinePlayers()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public CommandSender getConsoleSender()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void dispatchCommand(CommandSender sender, String command)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void banIP(String ip)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public <T> T getServiceProvider(Class<T> clazz)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public String getVersion()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void unbanIP(String string)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Player getPlayer(String name)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials/test/net/ess3/testserver/TestWorld.java b/Essentials/test/net/ess3/testserver/TestWorld.java
deleted file mode 100644
index ce258004d..000000000
--- a/Essentials/test/net/ess3/testserver/TestWorld.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package net.ess3.testserver;
-
-import java.util.UUID;
-import net.ess3.api.server.ItemStack;
-import net.ess3.api.server.Location;
-import net.ess3.api.server.World;
-import org.bukkit.TreeType;
-
-public class TestWorld implements World {
-
- @Override
- public String getName()
- {
- return "TestWorld";
- }
-
- @Override
- public boolean generateTree(Location safeLocation, TreeType tree)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public int getHighestBlockYAt(int topX, int topZ)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public ItemStack dropItem(Location loc, ItemStack stack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public UUID getUID()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Location getSpawnLocation()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void dropItemNaturally(Location location, ItemStack overflowStack)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setStorm(boolean b)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setWeatherDuration(int i)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public long getTime()
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public boolean setSpawnLocation(int blockX, int blockY, int blockZ)
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-}
diff --git a/Essentials2Compat/src/com/earth2me/essentials/Economy.java b/Essentials2Compat/src/com/earth2me/essentials/Economy.java
index bf1c9a61d..7e489726c 100644
--- a/Essentials2Compat/src/com/earth2me/essentials/Economy.java
+++ b/Essentials2Compat/src/com/earth2me/essentials/Economy.java
@@ -3,6 +3,7 @@ package com.earth2me.essentials;
import net.ess3.api.IEssentials;
import net.ess3.api.NoLoanPermittedException;
import net.ess3.api.UserDoesNotExistException;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
@@ -179,7 +180,7 @@ public final class Economy
{
throw new RuntimeException(noCallBeforeLoad);
}
- return Util.displayCurrency(amount, ess);
+ return FormatUtil.displayCurrency(amount, ess);
}
/**
diff --git a/Essentials2Compat/src/com/earth2me/essentials/EssentialsUpgrade.java b/Essentials2Compat/src/com/earth2me/essentials/EssentialsUpgrade.java
index 605262151..02e6c918f 100644
--- a/Essentials2Compat/src/com/earth2me/essentials/EssentialsUpgrade.java
+++ b/Essentials2Compat/src/com/earth2me/essentials/EssentialsUpgrade.java
@@ -31,11 +31,11 @@ public class EssentialsUpgrade
EssentialsUpgrade(final IEssentials essentials)
{
ess = essentials;
- if (!ess.getDataFolder().exists())
+ if (!ess.getPlugin().getDataFolder().exists())
{
- ess.getDataFolder().mkdirs();
+ ess.getPlugin().getDataFolder().mkdirs();
}
- doneFile = new EssentialsConf(new File(ess.getDataFolder(), "upgrades-done.yml"));
+ doneFile = new EssentialsConf(new File(ess.getPlugin().getDataFolder(), "upgrades-done.yml"));
doneFile.load();
}
@@ -47,7 +47,7 @@ public class EssentialsUpgrade
}
try
{
- final File configFile = new File(ess.getDataFolder(), "config.yml");
+ final File configFile = new File(ess.getPlugin().getDataFolder(), "config.yml");
if (!configFile.exists())
{
return;
@@ -87,12 +87,12 @@ public class EssentialsUpgrade
}
try
{
- final File file = new File(ess.getDataFolder(), name + ".txt");
+ final File file = new File(ess.getPlugin().getDataFolder(), name + ".txt");
if (file.exists())
{
return;
}
- final File configFile = new File(ess.getDataFolder(), "config.yml");
+ final File configFile = new File(ess.getPlugin().getDataFolder(), "config.yml");
if (!configFile.exists())
{
return;
@@ -127,7 +127,7 @@ public class EssentialsUpgrade
{
boolean needUpdate = false;
final BufferedReader bReader = new BufferedReader(new FileReader(file));
- final File tempFile = File.createTempFile("essentialsupgrade", ".tmp.yml", ess.getDataFolder());
+ final File tempFile = File.createTempFile("essentialsupgrade", ".tmp.yml", ess.getPlugin().getDataFolder());
final BufferedWriter bWriter = new BufferedWriter(new FileWriter(tempFile));
do
{
@@ -188,7 +188,7 @@ public class EssentialsUpgrade
{
return;
}
- final File userdataFolder = new File(ess.getDataFolder(), "userdata");
+ final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -251,7 +251,7 @@ public class EssentialsUpgrade
{
return;
}
- final File userdataFolder = new File(ess.getDataFolder(), "userdata");
+ final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -304,7 +304,7 @@ public class EssentialsUpgrade
{
return;
}
- final File userdataFolder = new File(ess.getDataFolder(), "userdata");
+ final File userdataFolder = new File(ess.getPlugin().getDataFolder(), "userdata");
if (!userdataFolder.exists() || !userdataFolder.isDirectory())
{
return;
@@ -389,7 +389,7 @@ public class EssentialsUpgrade
*/
private void convertWarps()
{
- final File warpsFolder = new File(ess.getDataFolder(), "warps");
+ final File warpsFolder = new File(ess.getPlugin().getDataFolder(), "warps");
if (!warpsFolder.exists())
{
warpsFolder.mkdirs();
@@ -555,7 +555,7 @@ public class EssentialsUpgrade
{
return;
}
- final File file = new File(ess.getDataFolder(), "items.csv");
+ final File file = new File(ess.getPlugin().getDataFolder(), "items.csv");
if (file.exists())
{
try
@@ -602,7 +602,7 @@ public class EssentialsUpgrade
{
return;
}
- final File configFile = new File(ess.getDataFolder(), "spawn.yml");
+ final File configFile = new File(ess.getPlugin().getDataFolder(), "spawn.yml");
if (configFile.exists())
{
@@ -619,7 +619,7 @@ public class EssentialsUpgrade
StoredLocation loc = getFakeLocation(config, group);
spawns.getSpawns().put(group.toLowerCase(Locale.ENGLISH), loc);
}
- if (!configFile.renameTo(new File(ess.getDataFolder(), "spawn.yml.old")))
+ if (!configFile.renameTo(new File(ess.getPlugin().getDataFolder(), "spawn.yml.old")))
{
throw new Exception(_("fileRenameError", "spawn.yml"));
}
@@ -649,7 +649,7 @@ public class EssentialsUpgrade
{
return;
}
- final File configFile = new File(ess.getDataFolder(), "jail.yml");
+ final File configFile = new File(ess.getPlugin().getDataFolder(), "jail.yml");
if (configFile.exists())
{
@@ -666,7 +666,7 @@ public class EssentialsUpgrade
StoredLocation loc = getFakeLocation(config, jailName);
jails.getJails().put(jailName.toLowerCase(Locale.ENGLISH), loc);
}
- if (!configFile.renameTo(new File(ess.getDataFolder(), "jail.yml.old")))
+ if (!configFile.renameTo(new File(ess.getPlugin().getDataFolder(), "jail.yml.old")))
{
throw new Exception(_("fileRenameError", "jail.yml"));
}
@@ -704,9 +704,9 @@ public class EssentialsUpgrade
public void beforeSettings()
{
- if (!ess.getDataFolder().exists())
+ if (!ess.getPlugin().getDataFolder().exists())
{
- ess.getDataFolder().mkdirs();
+ ess.getPlugin().getDataFolder().mkdirs();
}
moveWorthValuesToWorthYml();
moveMotdRulesToFile("motd");
diff --git a/EssentialsAntiBuild/pom.xml b/EssentialsAntiBuild/pom.xml
new file mode 100644
index 000000000..1346a3706
--- /dev/null
+++ b/EssentialsAntiBuild/pom.xml
@@ -0,0 +1,21 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.essentials3</groupId>
+ <artifactId>BuildAll</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>EssentialsAntiBuild</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>Essentials</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/AntiBuildHolder.java b/EssentialsAntiBuild/src/net/ess3/antibuild/AntiBuildHolder.java
new file mode 100644
index 000000000..ef3aebc06
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/AntiBuildHolder.java
@@ -0,0 +1,31 @@
+package net.ess3.antibuild;
+
+import java.io.File;
+import java.io.IOException;
+import net.ess3.api.IEssentials;
+import net.ess3.settings.antibuild.AntiBuild;
+import net.ess3.storage.AsyncStorageObjectHolder;
+
+public class AntiBuildHolder extends AsyncStorageObjectHolder<AntiBuild>
+{
+ public AntiBuildHolder(final IEssentials ess)
+ {
+ super(ess, AntiBuild.class);
+ }
+
+ @Override
+ public File getStorageFile() throws IOException
+ {
+ return new File(ess.getPlugin().getDataFolder(), "protect.yml");
+ }
+
+ @Override
+ public void finishRead()
+ {
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ }
+}
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuild.java b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuild.java
new file mode 100644
index 000000000..50e3f56f2
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuild.java
@@ -0,0 +1,57 @@
+package net.ess3.antibuild;
+
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.PluginManager;
+import org.bukkit.plugin.java.JavaPlugin;
+
+
+public class EssentialsAntiBuild extends JavaPlugin implements IAntiBuild
+{
+ private static final Logger LOGGER = Logger.getLogger("Minecraft");
+ private transient EssentialsConnect ess = null;
+ private transient AntiBuildHolder settings = null;
+
+ @Override
+ public void onEnable()
+ {
+ final PluginManager pm = this.getServer().getPluginManager();
+ final Plugin essPlugin = pm.getPlugin("Essentials");
+ if (essPlugin == null || !essPlugin.isEnabled())
+ {
+ return;
+ }
+ ess = new EssentialsConnect(essPlugin, this);
+
+ final EssentialsAntiBuildListener blockListener = new EssentialsAntiBuildListener(this);
+ pm.registerEvents(blockListener, this);
+ }
+
+ @Override
+ public boolean checkProtectionItems(final int id)
+ {
+ final List<Integer> itemList = settingsList.get(list);
+ return itemList != null && !itemList.isEmpty() && itemList.contains(id);
+ }
+
+ @Override
+ public EssentialsConnect getEssentialsConnect()
+ {
+ return ess;
+ }
+
+ @Override
+ public AntiBuildHolder getSettings()
+ {
+ return settings;
+ }
+
+ @Override
+ public void setSettings(final AntiBuildHolder settings)
+ {
+ this.settings = settings;
+ }
+}
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
new file mode 100644
index 000000000..03bce34b6
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
@@ -0,0 +1,322 @@
+package net.ess3.antibuild;
+
+import java.util.logging.Level;
+import static net.ess3.I18n._;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
+import net.ess3.user.User;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.*;
+import org.bukkit.event.inventory.CraftItemEvent;
+import org.bukkit.event.painting.PaintingBreakByEntityEvent;
+import org.bukkit.event.player.PlayerDropItemEvent;
+import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.event.player.PlayerPickupItemEvent;
+import org.bukkit.inventory.ItemStack;
+
+
+public class EssentialsAntiBuildListener implements Listener
+{
+ final private transient IAntiBuild antib;
+ final private transient IEssentials ess;
+
+ public EssentialsAntiBuildListener(final IAntiBuild parent)
+ {
+ this.antib = parent;
+ this.ess = antib.getEssentialsConnect().getEssentials();
+ }
+
+ private boolean metaPermCheck(final User user, final String action, final Block block)
+ {
+ if (block == null)
+ {
+ return false;
+ }
+ return metaPermCheck(user, action, block.getTypeId(), block.getData());
+ }
+
+ private boolean metaPermCheck(final User user, final String action, final int blockId)
+ {
+ final String blockPerm = "essentials.build." + action + "." + blockId;
+ return user.isAuthorized(blockPerm);
+ }
+
+ private boolean metaPermCheck(final User user, final String action, final int blockId, final byte data)
+ {
+ final String blockPerm = "essentials.build." + action + "." + blockId;
+ final String dataPerm = blockPerm + ":" + data;
+
+ if (user.isPermissionSet(dataPerm))
+ {
+ return user.isAuthorized(dataPerm);
+ }
+ else
+ {
+ if (ess.getSettings().isDebug())
+ {
+ ess.getLogger().log(Level.INFO, "DataValue perm on " + user.getName() + " is not directly set: " + dataPerm);
+ }
+ }
+
+ return user.isAuthorized(blockPerm);
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onBlockPlace(final BlockPlaceEvent event)
+ {
+ final AntiBuildHolder ab = antib.getSettings();
+ ab.acquireReadLock();
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final Block block = event.getBlockPlaced();
+ final int typeId = block.getTypeId();
+ final Material type = block.getType();
+
+ try
+ {
+
+ if (ab.getData().isBuild()
+ && !user.canBuild() && !user.hasPermission("essentials.build")
+ && !Permissions.getPlacePermission(type).isAuthorized(user))
+ //metaPermCheck(user, "place", block)) todo - double check metadata
+ {
+ if (ab.getData().isWarnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildPlace", type.toString()));
+ }
+ event.setCancelled(true);
+ return;
+ }
+
+ if (ab.getData().getBlacklist().getPlacement().contains(type) && !Permissions.BLACKLIST_ALLOWPLACEMENT.isAuthorized(user))
+ //antib.checkProtectionItems(AntiBuildConfig.blacklist_placement, typeId) && !user.isAuthorized("essentials.protect.exemptplacement"))
+ {
+ if (ab.getData().isWarnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildPlace", type.toString()));
+ }
+ event.setCancelled(true);
+ return;
+ }
+
+ if (ab.getData().getAlert().getAlertOnPlacement().contains(type)
+ && !Permissions.ALERTS_NOTRIGGER.isAuthorized(user))
+ {
+ antib.getEssentialsConnect().alert(user, type.toString(), _("alertPlaced"));
+ }
+ }
+ finally
+ {
+ ab.unlock();
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onBlockBreak(final BlockBreakEvent event)
+ {
+ final AntiBuildHolder ab = antib.getSettings();
+ ab.acquireReadLock();
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final Block block = event.getBlock();
+ final int typeId = block.getTypeId();
+ final Material type = block.getType();
+
+ try
+ {
+ if (ab.getData().isBuild() && !user.canBuild() && !user.isAuthorized("essentials.build")
+ && !Permissions.getBreakPermission(type).isAuthorized(user))
+ //!metaPermCheck(user, "break", block))
+ {
+ if (ab.getData().isWarnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildBreak", type.toString()));
+ }
+ event.setCancelled(true);
+ return;
+ }
+
+ if (ab.getData().getBlacklist().getBreaking().contains(type) && !Permissions.BLACKLIST_ALLOWBREAK.isAuthorized(user))
+ {
+ if (ab.getData().isWarnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildBreak", type.toString()));
+ }
+ event.setCancelled(true);
+ return;
+ }
+
+ if (antib.checkProtectionItems(AntiBuildConfig.alert_on_break, typeId)
+ && !user.isAuthorized("essentials.protect.alerts.notrigger"))
+ {
+ antib.getEssentialsConnect().alert(user, type.toString(), _("alertBroke"));
+ }
+ }
+ finally
+ {
+ ab.unlock();
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onPaintingBreak(final PaintingBreakByEntityEvent event)
+ {
+ final Entity entity = event.getRemover();
+ if (entity instanceof Player)
+ {
+ final User user = ess.getUser(entity);
+ if (antib.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build")
+ && !metaPermCheck(user, "break", Material.PAINTING.getId()))
+ {
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString()));
+ }
+ event.setCancelled(true);
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onBlockPistonExtend(final BlockPistonExtendEvent event)
+ {
+ for (Block block : event.getBlocks())
+ {
+ if (antib.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onBlockPistonRetract(final BlockPistonRetractEvent event)
+ {
+ if (!event.isSticky())
+ {
+ return;
+ }
+ final Block block = event.getRetractLocation().getBlock();
+ if (antib.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
+
+ @EventHandler(priority = EventPriority.LOW)
+ public void onPlayerInteract(final PlayerInteractEvent event)
+ {
+ // Do not return if cancelled, because the interact event has 2 cancelled states.
+ final User user = ess.getUser(event.getPlayer());
+ final ItemStack item = event.getItem();
+
+ if (item != null
+ && antib.checkProtectionItems(AntiBuildConfig.blacklist_usage, item.getTypeId())
+ && !user.isAuthorized("essentials.protect.exemptusage"))
+ {
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildUse", item.getType().toString()));
+ }
+ event.setCancelled(true);
+ return;
+ }
+
+ if (item != null
+ && antib.checkProtectionItems(AntiBuildConfig.alert_on_use, item.getTypeId())
+ && !user.isAuthorized("essentials.protect.alerts.notrigger"))
+ {
+ antib.getEssentialsConnect().alert(user, item.getType().toString(), _("alertUsed"));
+ }
+
+ if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ {
+ if (event.hasItem() && !metaPermCheck(user, "interact", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildUse", item.getType().toString()));
+ }
+ return;
+ }
+ if (event.hasBlock() && !metaPermCheck(user, "interact", event.getClickedBlock()))
+ {
+ event.setCancelled(true);
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildInteract", event.getClickedBlock().getType().toString()));
+ }
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
+ public void onCraftItemEvent(final CraftItemEvent event)
+ {
+ HumanEntity entity = event.getWhoClicked();
+
+ if (entity instanceof Player)
+ {
+ final User user = ess.getUser(entity);
+ final ItemStack item = event.getRecipe().getResult();
+
+ if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ {
+ if (!metaPermCheck(user, "craft", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildCraft", item.getType().toString()));
+ }
+ }
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
+ public void onPlayerPickupItem(PlayerPickupItemEvent event)
+ {
+
+ final User user = ess.getUser(event.getPlayer());
+ final ItemStack item = event.getItem().getItemStack();
+
+ if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ {
+ if (!metaPermCheck(user, "pickup", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ event.getItem().setPickupDelay(50);
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
+ public void onPlayerDropItem(final PlayerDropItemEvent event)
+ {
+
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
+ final ItemStack item = event.getItemDrop().getItemStack();
+
+ if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ {
+ if (!metaPermCheck(user, "drop", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ user.getPlayer().updateInventory();
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildDrop", item.getType().toString()));
+ }
+ }
+ }
+ }
+}
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsConnect.java b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsConnect.java
new file mode 100644
index 000000000..b9a669348
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsConnect.java
@@ -0,0 +1,55 @@
+package net.ess3.antibuild;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import static net.ess3.I18n._;
+import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
+
+
+public class EssentialsConnect
+{
+ private static final Logger LOGGER = Logger.getLogger("Minecraft");
+ private final transient IEssentials ess;
+ private final transient IAntiBuild antib;
+
+ public EssentialsConnect(Plugin essPlugin, Plugin essProtect)
+ {
+ if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion()))
+ {
+ LOGGER.log(Level.WARNING, _("versionMismatchAll"));
+ }
+ ess = (IEssentials)essPlugin;
+ antib = (IAntiBuild)essProtect;
+ antib.setSettings(new AntiBuildHolder(ess));
+ }
+
+ public void onDisable()
+ {
+ }
+
+ public IEssentials getEssentials()
+ {
+ return ess;
+ }
+
+ public void alert(final IUser user, final String item, final String type)
+ {
+ final Location loc = user.getPlayer().getLocation();
+ final String warnMessage = _("alertFormat", user.getName(), type, item,
+ loc.getWorld().getName() + "," + loc.getBlockX() + ","
+ + loc.getBlockY() + "," + loc.getBlockZ());
+ LOGGER.log(Level.WARNING, warnMessage);
+ for (Player p : ess.getServer().getOnlinePlayers())
+ {
+ final IUser alertUser = ess.getUserMap().getUser(p);
+ if (Permissions.ALERTS.isAuthorized(alertUser))
+ {
+ alertUser.sendMessage(warnMessage);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/IAntiBuild.java b/EssentialsAntiBuild/src/net/ess3/antibuild/IAntiBuild.java
new file mode 100644
index 000000000..e65773bd7
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/IAntiBuild.java
@@ -0,0 +1,15 @@
+package net.ess3.antibuild;
+
+
+import org.bukkit.plugin.Plugin;
+
+public interface IAntiBuild extends Plugin
+{
+ boolean checkProtectionItems(final int id);
+
+ EssentialsConnect getEssentialsConnect();
+
+ AntiBuildHolder getSettings();
+
+ void setSettings(AntiBuildHolder settings);
+}
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java b/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
new file mode 100644
index 000000000..7088fb0e0
--- /dev/null
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/Permissions.java
@@ -0,0 +1,177 @@
+package net.ess3.antibuild;
+
+import java.util.EnumMap;
+import java.util.Locale;
+import net.ess3.api.IPermission;
+import net.ess3.bukkit.PermissionFactory;
+import net.ess3.permissions.BasePermission;
+import org.bukkit.Material;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
+
+
+public enum Permissions implements IPermission
+{
+
+ BLACKLIST_ALLOWPLACEMENT,
+ BLACKLIST_ALLOWUSAGE,
+ BLACKLIST_ALLOWBREAK,
+ ALERTS,
+ ALERTS_NOTRIGGER;
+ private static final String base = "essentials.build.";
+ private final String permission;
+ private final PermissionDefault defaultPerm;
+ private transient Permission bukkitPerm = null;
+
+ private Permissions()
+ {
+ this(PermissionDefault.OP);
+ }
+
+ private Permissions(final PermissionDefault defaultPerm)
+ {
+ permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.');
+ this.defaultPerm = defaultPerm;
+ }
+
+ @Override
+ public String getPermissionName()
+ {
+ return permission;
+ }
+
+ @Override
+ public Permission getPermission()
+ {
+ if (bukkitPerm != null)
+ {
+ return bukkitPerm;
+ }
+ else
+ {
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
+ }
+ }
+
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return this.defaultPerm;
+ }
+
+ @Override
+ public boolean isAuthorized(final CommandSender sender)
+ {
+ return sender.hasPermission(getPermission());
+ }
+
+ private static EnumMap<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
+
+ public static IPermission getPlacePermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.place.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getBreakPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.break.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getInteractPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.interact.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+ public static IPermission getCraftPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.craft.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getPickupPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.pickup.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+
+ public static IPermission getDropPermission(final Material mat)
+ {
+ IPermission perm = permissions.get(mat);
+ if (perm == null)
+ {
+ perm = new BasePermission("essentials.drop.", mat.toString().toLowerCase(Locale.ENGLISH).replace("_", ""))
+ {
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return PermissionDefault.TRUE;
+ }
+ };
+ permissions.put(mat, perm);
+ }
+ return perm;
+ }
+}
diff --git a/EssentialsAntiBuild/src/plugin.yml b/EssentialsAntiBuild/src/plugin.yml
new file mode 100644
index 000000000..c838528c5
--- /dev/null
+++ b/EssentialsAntiBuild/src/plugin.yml
@@ -0,0 +1,9 @@
+# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
+name: EssentialsAntiBuild
+main: net.ess3.antibuild.EssentialsAnitBuild
+# Note to developers: This next line cannot change, or the automatic versioning system will break.
+version: ${build.number}
+website: http://tiny.cc/EssentialsWiki
+description: Provides build protection.
+authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology, KHobbits, Iaccidentally]
+softdepend: [Essentials] \ No newline at end of file
diff --git a/EssentialsChat/src/net/ess3/chat/EssentialsChat.java b/EssentialsChat/src/net/ess3/chat/EssentialsChat.java
index 4c922c45f..66286a3af 100644
--- a/EssentialsChat/src/net/ess3/chat/EssentialsChat.java
+++ b/EssentialsChat/src/net/ess3/chat/EssentialsChat.java
@@ -9,6 +9,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import net.ess3.api.IPlugin;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -22,12 +23,13 @@ public class EssentialsChat extends JavaPlugin
public void onEnable()
{
final PluginManager pluginManager = getServer().getPluginManager();
- final IEssentials ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
- if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
+ final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
+ final IEssentials ess = (IEssentials)plugin.getEssentials();
+ if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
- if (!ess.isEnabled())
+ if (!plugin.isEnabled())
{
this.setEnabled(false);
return;
diff --git a/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java b/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java
index f3ce3abaf..9bf791372 100644
--- a/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java
+++ b/EssentialsChat/src/net/ess3/chat/EssentialsChatPlayer.java
@@ -12,6 +12,7 @@ import net.ess3.utils.Util;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Logger;
+import net.ess3.utils.FormatUtil;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -80,10 +81,10 @@ public abstract class EssentialsChatPlayer implements Listener
final IUser user = chatStore.getUser();
if (Permissions.CHAT_COLOR.isAuthorized(user))
{
- event.setMessage(Util.stripColor(event.getMessage()));
+ event.setMessage(FormatUtil.stripColor(event.getMessage()));
}
String group = ess.getRanks().getMainGroup(user);
- String world = user.getWorld().getName();
+ String world = user.getPlayer().getWorld().getName();
IRanks groupSettings = ess.getRanks();
event.setFormat(groupSettings.getChatFormat(user).format(new Object[]
diff --git a/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java b/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java
index f248a21a4..be4c5305c 100644
--- a/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java
+++ b/EssentialsChat/src/net/ess3/chat/EssentialsLocalChatEventListener.java
@@ -43,7 +43,7 @@ public class EssentialsLocalChatEventListener implements Listener
if (!user.equals(sender))
{
boolean abort = false;
- final Location playerLoc = user.getLocation();
+ final Location playerLoc = user.getPlayer().getLocation();
if (playerLoc.getWorld() != world)
{
abort = true;
diff --git a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIP.java b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIP.java
index 9767f213b..265a47947 100644
--- a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIP.java
+++ b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIP.java
@@ -3,6 +3,7 @@ package net.ess3.geoip;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import java.util.logging.Level;
+import net.ess3.api.IPlugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -13,12 +14,13 @@ public class EssentialsGeoIP extends JavaPlugin
public void onEnable()
{
final PluginManager pm = getServer().getPluginManager();
- final IEssentials ess = (IEssentials)pm.getPlugin("Essentials-3");
- if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
+ final IPlugin plugin = (IPlugin)pm.getPlugin("Essentials-3");
+ final IEssentials ess = (IEssentials)plugin.getEssentials();
+ if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
getLogger().log(Level.WARNING, _("versionMismatchAll"));
}
- if (!ess.isEnabled())
+ if (!plugin.isEnabled())
{
this.setEnabled(false);
return;
diff --git a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java
index 5c12f09c6..676539b08 100644
--- a/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java
+++ b/EssentialsGeoIP/src/net/ess3/geoip/EssentialsGeoIPPlayerListener.java
@@ -100,7 +100,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IReload
final IUser user = ess.getUserMap().getUser(player);
if (Permissions.GEOIP_SHOW.isAuthorized(user))
{
- user.sendMessage(_("geoipJoinFormat", user.getDisplayName(), builder.toString()));
+ user.sendMessage(_("geoipJoinFormat", user.getPlayer().getDisplayName(), builder.toString()));
}
}
}
diff --git a/EssentialsProtect/pom.xml b/EssentialsProtect/pom.xml
index 973e08bbc..3fcd5c2b1 100644
--- a/EssentialsProtect/pom.xml
+++ b/EssentialsProtect/pom.xml
@@ -9,43 +9,14 @@
<version>3.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
-
+
<artifactId>EssentialsProtect</artifactId>
- <dependencies>
- <dependency>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- <version>0.9.1.2</version>
- </dependency>
+ <dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>Essentials</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <includes>
- <include>c3p0:c3p0</include>
- </includes>
- </artifactSet>
- <minimizeJar>true</minimizeJar>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+
</project>
diff --git a/EssentialsProtect/src/net/ess3/protect/BlockBreakPermissions.java b/EssentialsProtect/src/net/ess3/protect/BlockBreakPermissions.java
deleted file mode 100644
index 1a07588e8..000000000
--- a/EssentialsProtect/src/net/ess3/protect/BlockBreakPermissions.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package net.ess3.protect;
-
-import net.ess3.api.IPermission;
-import net.ess3.permissions.AbstractSuperpermsPermission;
-import java.util.EnumMap;
-import java.util.Locale;
-import java.util.Map;
-import org.bukkit.Material;
-import org.bukkit.permissions.PermissionDefault;
-
-
-public final class BlockBreakPermissions extends AbstractSuperpermsPermission
-{
- private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
- private static final String base = "essentials.protect.blockbreak.";
- private final String permission;
-
- public static IPermission getPermission(final Material mat)
- {
- IPermission perm = permissions.get(mat);
- if (perm == null)
- {
- perm = new BlockBreakPermissions(mat.toString().toLowerCase(Locale.ENGLISH));
- permissions.put(mat, perm);
- }
- return perm;
- }
-
- private BlockBreakPermissions(final String matName)
- {
- super();
- this.permission = base + matName;
- }
-
- @Override
- public String getPermission()
- {
- return this.permission;
- }
-
- @Override
- public PermissionDefault getPermissionDefault()
- {
- return PermissionDefault.TRUE;
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/BlockPlacePermissions.java b/EssentialsProtect/src/net/ess3/protect/BlockPlacePermissions.java
deleted file mode 100644
index 87e771e73..000000000
--- a/EssentialsProtect/src/net/ess3/protect/BlockPlacePermissions.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package net.ess3.protect;
-
-import net.ess3.api.IPermission;
-import net.ess3.permissions.AbstractSuperpermsPermission;
-import java.util.EnumMap;
-import java.util.Locale;
-import java.util.Map;
-import org.bukkit.Material;
-import org.bukkit.permissions.PermissionDefault;
-
-
-public class BlockPlacePermissions extends AbstractSuperpermsPermission
-{
- private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
- private static final String base = "essentials.protect.blockplace.";
- private final String permission;
-
- public static IPermission getPermission(final Material mat)
- {
- IPermission perm = permissions.get(mat);
- if (perm == null)
- {
- perm = new BlockPlacePermissions(mat.toString().toLowerCase(Locale.ENGLISH));
- permissions.put(mat, perm);
- }
- return perm;
- }
-
- private BlockPlacePermissions(final String matName)
- {
- super();
- this.permission = base + matName;
- }
-
- @Override
- public String getPermission()
- {
- return this.permission;
- }
-
- @Override
- public PermissionDefault getPermissionDefault()
- {
- return PermissionDefault.TRUE;
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java b/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java
index b500c3ea3..96a161a5f 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsConnect.java
@@ -2,15 +2,8 @@ package net.ess3.protect;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
-import net.ess3.api.IReload;
-import net.ess3.api.IUser;
-import net.ess3.protect.data.ProtectedBlockMySQL;
-import net.ess3.protect.data.ProtectedBlockSQLite;
-import java.beans.PropertyVetoException;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.bukkit.Location;
-import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -29,96 +22,11 @@ public class EssentialsConnect
ess = (IEssentials)essPlugin;
protect = (IProtect)essProtect;
protect.setSettings(new ProtectHolder(ess));
- final ProtectReloader pr = new ProtectReloader();
- pr.onReload();
- ess.addReloadListener(pr);
}
public IEssentials getEssentials()
{
return ess;
}
-
- public void alert(final Player user, final String item, final String type)
- {
- final Location loc = user.getLocation();
- final String warnMessage = _("alertFormat", user.getName(), type, item,
- loc.getWorld().getName() + "," + loc.getBlockX() + ","
- + loc.getBlockY() + "," + loc.getBlockZ());
- LOGGER.log(Level.WARNING, warnMessage);
- for (Player p : ess.getServer().getOnlinePlayers())
- {
- final IUser alertUser = ess.getUserMap().getUser(p);
- if (Permissions.ALERTS.isAuthorized(alertUser))
- {
- alertUser.sendMessage(warnMessage);
- }
- }
- }
-
-
- private class ProtectReloader implements IReload
- {
- @Override
- public void onReload()
- {
- if (protect.getStorage() != null)
- {
- protect.getStorage().onPluginDeactivation();
- }
-
- /*
- * for (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())); }
- *
- * }
- */
-
- final ProtectHolder settings = protect.getSettings();
- settings.acquireReadLock();
- try
- {
- if (settings.getData().getDbtype().equalsIgnoreCase("mysql"))
- {
- try
- {
- protect.setStorage(new ProtectedBlockMySQL(
- settings.getData().getDburl(),
- settings.getData().getDbuser(),
- settings.getData().getDbpassword()));
- }
- catch (PropertyVetoException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- else
- {
- try
- {
- protect.setStorage(new ProtectedBlockSQLite("jdbc:sqlite:" + ess.getDataFolder() + "/EssentialsProtect.db"));
- }
- catch (PropertyVetoException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- /*if (protect.getSettingBool(ProtectConfig.memstore))
- {
- protect.setStorage(new ProtectedBlockMemory(protect.getStorage(), protect));
- }*/
-
- }
- finally
- {
- settings.unlock();
- }
- }
- }
-}
+
+} \ No newline at end of file
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java
index 9f1e58e10..fbccc3ec6 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java
@@ -1,11 +1,7 @@
package net.ess3.protect;
-import net.ess3.protect.data.IProtectedBlock;
-import java.util.logging.Filter;
import java.util.logging.Level;
-import java.util.logging.LogRecord;
import java.util.logging.Logger;
-
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
@@ -15,28 +11,9 @@ import org.bukkit.plugin.java.JavaPlugin;
public class EssentialsProtect extends JavaPlugin implements IProtect
{
private static final Logger LOGGER = Logger.getLogger("Minecraft");
- private static com.mchange.v2.log.MLogger C3P0logger;
- //private final transient Map<ProtectConfig, Boolean> settingsBoolean = new EnumMap<ProtectConfig, Boolean>(ProtectConfig.class);
- //private final transient Map<ProtectConfig, String> settingsString = new EnumMap<ProtectConfig, String>(ProtectConfig.class);
- //private final transient Map<ProtectConfig, List<Integer>> settingsList = new EnumMap<ProtectConfig, List<Integer>>(ProtectConfig.class);
- private transient IProtectedBlock storage = null;
private transient EssentialsConnect ess = null;
private transient ProtectHolder settings = null;
- private transient com.mchange.v2.c3p0.management.ActiveManagementCoordinator temp; // leave this here for maven
-
- @Override
- public void onLoad()
- {
- C3P0logger = com.mchange.v2.log.MLog.getLogger(com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.class);
- C3P0logger.setFilter(new Filter()
- {
- public boolean isLoggable(final LogRecord lr)
- {
- return lr.getLevel() != Level.INFO;
- }
- });
- }
-
+
@Override
public void onEnable()
{
@@ -47,10 +24,7 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
enableEmergencyMode(pm);
return;
}
- ess = new EssentialsConnect(essPlugin, this);
-
- final EssentialsProtectPlayerListener playerListener = new EssentialsProtectPlayerListener(this);
- pm.registerEvents(playerListener, this);
+ ess = new EssentialsConnect(essPlugin, this);
final EssentialsProtectBlockListener blockListener = new EssentialsProtectBlockListener(this);
pm.registerEvents(blockListener, this);
@@ -74,74 +48,12 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
LOGGER.log(Level.SEVERE, "Essentials not installed or failed to load. Essenials Protect is in emergency mode now.");
}
- /*@Override
- public boolean checkProtectionItems(final ProtectConfig list, final int id)
- {
- final List<Integer> itemList = settingsList.get(list);
- return itemList != null && !itemList.isEmpty() && itemList.contains(id);
- }*/
- @Override
- public IProtectedBlock getStorage()
- {
- return storage;
- }
-
- @Override
- public void setStorage(final IProtectedBlock pb)
- {
- storage = pb;
- }
-
+
@Override
public EssentialsConnect getEssentialsConnect()
{
return ess;
- }
-
- /*public Map<ProtectConfig, Boolean> getSettingsBoolean()
- {
- return settingsBoolean;
- }
-
- public Map<ProtectConfig, String> getSettingsString()
- {
- return settingsString;
- }
-
- public Map<ProtectConfig, List<Integer>> 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;
- }*/
- @Override
- public void onDisable()
- {
- if (storage != null)
- {
- storage.onPluginDeactivation();
- }
- // Sleep for a second to allow the database to close.
- try
- {
- Thread.sleep(1000);
- }
- catch (InterruptedException ex)
- {
- }
- }
+ }
@Override
public ProtectHolder getSettings()
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
index 77bb472c7..6649469b9 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
@@ -1,15 +1,8 @@
package net.ess3.protect;
-import static net.ess3.I18n._;
-import net.ess3.api.IEssentials;
-import com.earth2me.essentials.protect.data.IProtectedBlock;
-import java.util.ArrayList;
-import java.util.List;
-
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
-import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@@ -23,80 +16,7 @@ public class EssentialsProtectBlockListener implements Listener
public EssentialsProtectBlockListener(final IProtect parent)
{
this.prot = parent;
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPlace(final BlockPlaceEvent event)
- {
- final Player user = event.getPlayer();
- final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- if (!Permissions.BUILD.isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
-
- final Block blockPlaced = event.getBlockPlaced();
-
- if (!BlockPlacePermissions.getPermission(blockPlaced.getType()).isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
-
- if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user)
- && settings.getData().getAlertOnPlacement().contains(blockPlaced.getType()))
- {
- prot.getEssentialsConnect().alert(user, blockPlaced.getType().toString(), _("alertPlaced"));
- }
-
- final Block below = blockPlaced.getRelative(BlockFace.DOWN);
- if ((below.getType() == Material.RAILS || below.getType() == Material.POWERED_RAIL || below.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isPreventBlockAboveRails()
- && isProtected(below, user, settings))
- {
- event.setCancelled(true);
- return;
- }
-
- final List<Block> protect = new ArrayList<Block>();
- if ((blockPlaced.getType() == Material.RAILS || blockPlaced.getType() == Material.POWERED_RAIL || blockPlaced.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails()
- && Permissions.RAILS.isAuthorized(user))
- {
- protect.add(blockPlaced);
- if (settings.getData().getSignsAndRails().isBlockBelow()
- && !isProtected(blockPlaced.getRelative(BlockFace.DOWN), user, settings))
- {
- protect.add(blockPlaced.getRelative(BlockFace.DOWN));
- }
- }
- /*if ((blockPlaced.getType() == Material.SIGN_POST || blockPlaced.getType() == Material.WALL_SIGN)
- && settings.getData().getSignsAndRails().isProtectSigns()
- && user.isAuthorized("essentials.protect"))
- {
- protect.add(blockPlaced);
- if (settings.getData().getSignsAndRails().isBlockBelow()
- && event.getBlockAgainst().getType() != Material.SIGN_POST
- && event.getBlockAgainst().getType() != Material.WALL_SIGN
- && !isProtected(event.getBlockAgainst(), user, settings))
- {
- protect.add(event.getBlockAgainst());
- }
- }*/
- for (Block block : protect)
- {
- prot.getStorage().protectBlock(block, user.getName());
- }
- }
- finally
- {
- settings.unlock();
- }
- }
+ }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockIgnite(BlockIgniteEvent event)
@@ -105,19 +25,7 @@ public class EssentialsProtectBlockListener implements Listener
settings.acquireReadLock();
try
{
- final Block block = event.getBlock();
- if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if ((block.getType() == Material.WALL_SIGN || block.getType() == Material.SIGN_POST)
- && settings.getData().getSignsAndRails().isProtectSigns())
- {
- event.setCancelled(true);
- return;
- }
+ final Block block = event.getBlock();
if (event.getBlock().getType() == Material.OBSIDIAN
|| event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN)
{
@@ -145,7 +53,6 @@ public class EssentialsProtectBlockListener implements Listener
if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LIGHTNING))
{
event.setCancelled(settings.getData().getPrevent().isLightningFirespread());
- return;
}
}
finally
@@ -161,21 +68,7 @@ public class EssentialsProtectBlockListener implements Listener
settings.acquireReadLock();
try
{
- final Block toBlock = event.getToBlock();
- if ((toBlock.getType() == Material.RAILS || toBlock.getType() == Material.POWERED_RAIL || toBlock.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if ((toBlock.getType() == Material.WALL_SIGN || toBlock.getType() == Material.SIGN_POST)
- && settings.getData().getSignsAndRails().isProtectSigns())
- {
- event.setCancelled(true);
- return;
- }
-
- final Block block = event.getBlock();
+ final Block block = event.getBlock();
if (block.getType() == Material.WATER || block.getType() == Material.STATIONARY_WATER)
{
event.setCancelled(settings.getData().getPrevent().isWaterFlow());
@@ -184,8 +77,7 @@ public class EssentialsProtectBlockListener implements Listener
if (block.getType() == Material.LAVA || block.getType() == Material.STATIONARY_LAVA)
{
- event.setCancelled(settings.getData().getPrevent().isLavaFlow());
- return;
+ event.setCancelled(settings.getData().getPrevent().isLavaFlow());
}
// TODO: Test if this still works
/*
@@ -206,252 +98,9 @@ public class EssentialsProtectBlockListener implements Listener
settings.acquireReadLock();
try
{
- final Block block = event.getBlock();
- if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if ((block.getType() == Material.WALL_SIGN || block.getType() == Material.SIGN_POST)
- && settings.getData().getSignsAndRails().isProtectSigns())
- {
- event.setCancelled(true);
- return;
- }
if (settings.getData().getPrevent().isFirespread())
{
- event.setCancelled(true);
- return;
- }
- }
- finally
- {
- settings.unlock();
- }
- }
- private final static BlockFace[] faces = new BlockFace[]
- {
- BlockFace.NORTH,
- BlockFace.EAST,
- BlockFace.SOUTH,
- BlockFace.WEST,
- BlockFace.UP,
- BlockFace.DOWN,
- BlockFace.SELF
- };
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockBreak(final BlockBreakEvent event)
- {
- final Player user = event.getPlayer();
-
- if (!Permissions.BUILD.isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
- final Block block = event.getBlock();
-
- if (!BlockBreakPermissions.getPermission(block.getType()).isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
- final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- final Material type = block.getType();
-
- if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user) && settings.getData().getAlertOnBreak().contains(type))
- {
- prot.getEssentialsConnect().alert(user, type.toString(), _("alertBroke"));
- }
- final IProtectedBlock storage = prot.getStorage();
-
- if (Permissions.ADMIN.isAuthorized(user))
- {
- if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
- {
- storage.unprotectBlock(block);
- if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST)
- {
- final Block below = block.getRelative(BlockFace.DOWN);
- storage.unprotectBlock(below);
- }
- else
- {
- for (BlockFace blockFace : faces)
- {
- final Block against = block.getRelative(blockFace);
- storage.unprotectBlock(against);
- }
- }
- }
- else
- {
- for (BlockFace blockFace : faces)
- {
- final Block against = block.getRelative(blockFace);
- storage.unprotectBlock(against);
- }
- }
- }
- else
- {
-
- final boolean isProtected = isProtected(block, user, settings);
- if (isProtected)
- {
- event.setCancelled(true);
- }
- else
- {
- if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
- {
- storage.unprotectBlock(block);
- if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST)
- {
- final Block below = block.getRelative(BlockFace.DOWN);
- storage.unprotectBlock(below);
- }
- else
- {
- for (BlockFace blockFace : faces)
- {
- final Block against = block.getRelative(blockFace);
- storage.unprotectBlock(against);
- }
- }
- }
- else
- {
- for (BlockFace blockFace : faces)
- {
- final Block against = block.getRelative(blockFace);
- storage.unprotectBlock(against);
- }
- }
- }
- }
- }
- finally
- {
- settings.unlock();
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPistonExtend(final BlockPistonExtendEvent event)
- {
- final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- for (Block block : event.getBlocks())
- {
- if (settings.getData().getPrevent().getPistonPush().contains(block.getType()))
- {
- event.setCancelled(true);
- return;
- }
- if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS
- || block.getType() == Material.RAILS
- || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL
- || block.getType() == Material.POWERED_RAIL
- || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL
- || block.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if (settings.getData().getSignsAndRails().isProtectSigns())
- {
- for (BlockFace blockFace : faces)
- {
- if (blockFace == BlockFace.DOWN)
- {
- continue;
- }
- final Block sign = block.getRelative(blockFace);
- if ((blockFace == BlockFace.UP || blockFace == BlockFace.SELF)
- && sign.getType() == Material.SIGN_POST)
- {
- event.setCancelled(true);
- return;
- }
- if ((blockFace == BlockFace.NORTH || blockFace == BlockFace.EAST
- || blockFace == BlockFace.SOUTH || blockFace == BlockFace.WEST
- || blockFace == BlockFace.SELF)
- && sign.getType() == Material.WALL_SIGN)
- {
- event.setCancelled(true);
- return;
- }
- }
- }
- }
- }
- finally
- {
- settings.unlock();
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPistonRetract(final BlockPistonRetractEvent event)
- {
- if (!event.isSticky())
- {
- return;
- }
- final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- final Block block = event.getRetractLocation().getBlock();
- if (settings.getData().getPrevent().getPistonPush().contains(block.getType()))
- {
- event.setCancelled(true);
- return;
- }
- if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS
- || block.getType() == Material.RAILS
- || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL
- || block.getType() == Material.POWERED_RAIL
- || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL
- || block.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if (settings.getData().getSignsAndRails().isProtectSigns())
- {
- for (BlockFace blockFace : faces)
- {
- if (blockFace == BlockFace.DOWN)
- {
- continue;
- }
- final Block sign = block.getRelative(blockFace);
- if ((blockFace == BlockFace.UP || blockFace == BlockFace.SELF)
- && sign.getType() == Material.SIGN_POST)
- {
- event.setCancelled(true);
- return;
- }
- if ((blockFace == BlockFace.NORTH || blockFace == BlockFace.EAST
- || blockFace == BlockFace.SOUTH || blockFace == BlockFace.WEST
- || blockFace == BlockFace.SELF)
- && sign.getType() == Material.WALL_SIGN)
- {
- event.setCancelled(true);
- return;
- }
- }
+ event.setCancelled(true);
}
}
finally
@@ -459,58 +108,4 @@ public class EssentialsProtectBlockListener implements Listener
settings.unlock();
}
}
-
- private boolean isProtected(final Block block, final Player user, final ProtectHolder settings)
- {
- final Material type = block.getType();
- if (settings.getData().getSignsAndRails().isProtectSigns())
- {
- if (type == Material.WALL_SIGN || type == Material.SIGN_POST)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
-
- final Block up = block.getRelative(BlockFace.UP);
- if (up != null && up.getType() == Material.SIGN_POST)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
- final BlockFace[] directions = new BlockFace[]
- {
- BlockFace.NORTH,
- BlockFace.EAST,
- BlockFace.SOUTH,
- BlockFace.WEST
- };
- for (BlockFace blockFace : directions)
- {
- final Block signblock = block.getRelative(blockFace);
- if (signblock.getType() == Material.WALL_SIGN)
- {
- final org.bukkit.material.Sign signMat = (org.bukkit.material.Sign)signblock.getState().getData();
- if (signMat != null && signMat.getFacing() == blockFace)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
- }
- }
-
- }
- if (settings.getData().getSignsAndRails().isProtectRails())
- {
- if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
- if (settings.getData().getSignsAndRails().isBlockBelow())
- {
- final Block up = block.getRelative(BlockFace.UP);
- if (up != null && (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL))
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
- }
- }
- return false;
- }
-}
+} \ No newline at end of file
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
index f4146c5bb..e6858483d 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
@@ -1,9 +1,5 @@
package net.ess3.protect;
-import net.ess3.api.IEssentials;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.block.BlockFace;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -154,8 +150,7 @@ public class EssentialsProtectEntityListener implements Listener
&& (Permissions.PREVENTDAMAGE_LIGHTNING.isAuthorized(user)
&& !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
{
- event.setCancelled(true);
- return;
+ event.setCancelled(true);
}
}
}
@@ -200,36 +195,7 @@ public class EssentialsProtectEntityListener implements Listener
{
event.setCancelled(true);
return;
- }
- // This code will prevent explosions near protected rails, signs or protected chests
- // TODO: Use protect db instead of this code
-
- for (Block block : event.blockList())
- {
- if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS
- || block.getType() == Material.RAILS
- || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL
- || block.getType() == Material.POWERED_RAIL
- || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL
- || block.getType() == Material.DETECTOR_RAIL)
- && settings.getData().getSignsAndRails().isProtectRails())
- {
- event.setCancelled(true);
- return;
- }
- if ((block.getType() == Material.WALL_SIGN
- || block.getRelative(BlockFace.NORTH).getType() == Material.WALL_SIGN
- || block.getRelative(BlockFace.EAST).getType() == Material.WALL_SIGN
- || block.getRelative(BlockFace.SOUTH).getType() == Material.WALL_SIGN
- || block.getRelative(BlockFace.WEST).getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST
- || block.getRelative(BlockFace.UP).getType() == Material.SIGN_POST)
- && settings.getData().getSignsAndRails().isProtectSigns())
- {
- event.setCancelled(true);
- return;
- }
- }
+ }
}
finally
{
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectPlayerListener.java
deleted file mode 100644
index 8022df16d..000000000
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectPlayerListener.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package net.ess3.protect;
-
-import static net.ess3.I18n._;
-import net.ess3.api.IEssentials;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.Action;
-import org.bukkit.event.player.PlayerInteractEvent;
-import org.bukkit.inventory.ItemStack;
-
-
-public class EssentialsProtectPlayerListener implements Listener
-{
- private final transient IProtect prot;
-
- public EssentialsProtectPlayerListener(final IProtect prot)
- {
- this.prot = prot;
- }
-
- @EventHandler(priority = EventPriority.LOW)
- public void onPlayerInteract(final PlayerInteractEvent event)
- {
- // Do not return if cancelled, because the interact event has 2 cancelled states.
- final Player user = event.getPlayer();
-
- final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- if (event.hasItem()
- && (event.getItem().getType() == Material.WATER_BUCKET
- || event.getItem().getType() == Material.LAVA_BUCKET)
- && !Permissions.BUILD.isAuthorized(user))
- {
- if (settings.getData().isWarnOnBuildDisallow())
- {
- user.sendMessage(_("buildAlert"));
- }
- event.setCancelled(true);
- return;
- }
-
- if (!Permissions.INTERACT.isAuthorized(user))
- {
- if (settings.getData().isWarnOnBuildDisallow())
- {
- user.sendMessage(_("buildAlert"));
- }
- event.setCancelled(true);
- return;
- }
-
- final ItemStack item = event.getItem();
- if (item != null
- && !ItemUsePermissions.getPermission(item.getType()).isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
-
- if (Permissions.OWNERINFO.isAuthorized(user) && event.getAction() == Action.RIGHT_CLICK_BLOCK)
- {
- final StringBuilder stringBuilder = new StringBuilder();
- boolean first = true;
- final Block blockClicked = event.getClickedBlock();
- for (String owner : prot.getStorage().getOwners(blockClicked))
- {
- if (!first)
- {
- stringBuilder.append(", ");
- }
- first = false;
- stringBuilder.append(owner);
- }
- final String ownerNames = stringBuilder.toString();
- if (ownerNames != null && !ownerNames.isEmpty())
- {
- user.sendMessage(_("protectionOwner", ownerNames));
- }
- }
- if (item != null
- && !Permissions.ALERTS_NOTRIGGER.isAuthorized(user)
- && settings.getData().getAlertOnUse().contains(item.getType()))
- {
- prot.getEssentialsConnect().alert(user, item.getType().toString(), _("alertUsed"));
- }
- }
- finally
- {
- settings.unlock();
- }
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/IProtect.java b/EssentialsProtect/src/net/ess3/protect/IProtect.java
index df2a454a0..95af97402 100644
--- a/EssentialsProtect/src/net/ess3/protect/IProtect.java
+++ b/EssentialsProtect/src/net/ess3/protect/IProtect.java
@@ -1,6 +1,5 @@
package net.ess3.protect;
-import net.ess3.protect.data.IProtectedBlock;
import org.bukkit.plugin.Plugin;
@@ -9,9 +8,7 @@ public interface IProtect extends Plugin
// boolean checkProtectionItems(final ProtectConfig list, final int id);
// boolean getSettingBool(final ProtectConfig protectConfig);
// String getSettingString(final ProtectConfig protectConfig);
- IProtectedBlock getStorage();
- void setStorage(IProtectedBlock pb);
EssentialsConnect getEssentialsConnect();
diff --git a/EssentialsProtect/src/net/ess3/protect/ItemUsePermissions.java b/EssentialsProtect/src/net/ess3/protect/ItemUsePermissions.java
deleted file mode 100644
index d9ecf9bc0..000000000
--- a/EssentialsProtect/src/net/ess3/protect/ItemUsePermissions.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package net.ess3.protect;
-
-import net.ess3.api.IPermission;
-import net.ess3.permissions.AbstractSuperpermsPermission;
-import java.util.EnumMap;
-import java.util.Locale;
-import java.util.Map;
-import org.bukkit.Material;
-import org.bukkit.permissions.PermissionDefault;
-
-
-public class ItemUsePermissions extends AbstractSuperpermsPermission
-{
- private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
- private static final String base = "essentials.protect.itemuse.";
- private final String permission;
-
- public static IPermission getPermission(final Material mat)
- {
- IPermission perm = permissions.get(mat);
- if (perm == null)
- {
- perm = new ItemUsePermissions(mat.toString().toLowerCase(Locale.ENGLISH));
- permissions.put(mat, perm);
- }
- return perm;
- }
-
- private ItemUsePermissions(final String matName)
- {
- this.permission = base + matName;
- }
-
- @Override
- public String getPermission()
- {
- return this.permission;
- }
-
- @Override
- public PermissionDefault getPermissionDefault()
- {
- return PermissionDefault.TRUE;
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/Permissions.java b/EssentialsProtect/src/net/ess3/protect/Permissions.java
index 37042618b..f9a6aad7b 100644
--- a/EssentialsProtect/src/net/ess3/protect/Permissions.java
+++ b/EssentialsProtect/src/net/ess3/protect/Permissions.java
@@ -1,8 +1,8 @@
package net.ess3.protect;
-import net.ess3.api.IPermission;
-import net.ess3.utils.Util;
import java.util.Locale;
+import net.ess3.api.IPermission;
+import net.ess3.bukkit.PermissionFactory;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
@@ -10,13 +10,9 @@ import org.bukkit.permissions.PermissionDefault;
public enum Permissions implements IPermission
{
- ALERTS,
- ALERTS_NOTRIGGER,
- ADMIN,
- BUILD(PermissionDefault.TRUE),
+
+ ADMIN,
ENTITYTARGET(PermissionDefault.TRUE),
- INTERACT(PermissionDefault.TRUE),
- OWNERINFO,
PVP(PermissionDefault.TRUE),
PREVENTDAMAGE_FALL(PermissionDefault.FALSE),
PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE),
@@ -29,8 +25,7 @@ public enum Permissions implements IPermission
PREVENTDAMAGE_FIRE(PermissionDefault.FALSE),
PREVENTDAMAGE_DROWNING(PermissionDefault.FALSE),
PREVENTDAMAGE_LIGHTNING(PermissionDefault.FALSE),
- PREVENTDAMAGE_NONE(PermissionDefault.FALSE),
- RAILS(PermissionDefault.TRUE),
+ PREVENTDAMAGE_NONE(PermissionDefault.FALSE),
USEFLINTSTEEL(PermissionDefault.TRUE);
private static final String base = "essentials.protect.";
private final String permission;
@@ -49,13 +44,13 @@ public enum Permissions implements IPermission
}
@Override
- public String getPermission()
+ public String getPermissionName()
{
return permission;
}
@Override
- public Permission getBukkitPermission()
+ public Permission getPermission()
{
if (bukkitPerm != null)
{
@@ -63,7 +58,7 @@ public enum Permissions implements IPermission
}
else
{
- return Util.registerPermission(getPermission(), getPermissionDefault());
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
}
}
@@ -76,6 +71,6 @@ public enum Permissions implements IPermission
@Override
public boolean isAuthorized(final CommandSender sender)
{
- return sender.hasPermission(getBukkitPermission());
+ return sender.hasPermission(getPermission());
}
}
diff --git a/EssentialsProtect/src/net/ess3/protect/ProtectHolder.java b/EssentialsProtect/src/net/ess3/protect/ProtectHolder.java
index 145a5e97e..507bbf596 100644
--- a/EssentialsProtect/src/net/ess3/protect/ProtectHolder.java
+++ b/EssentialsProtect/src/net/ess3/protect/ProtectHolder.java
@@ -1,10 +1,10 @@
package net.ess3.protect;
+import java.io.File;
+import java.io.IOException;
import net.ess3.api.IEssentials;
import net.ess3.settings.protect.Protect;
import net.ess3.storage.AsyncStorageObjectHolder;
-import java.io.File;
-import java.io.IOException;
public class ProtectHolder extends AsyncStorageObjectHolder<Protect>
@@ -17,7 +17,7 @@ public class ProtectHolder extends AsyncStorageObjectHolder<Protect>
@Override
public File getStorageFile() throws IOException
{
- return new File(ess.getDataFolder(), "protect.yml");
+ return new File(ess.getPlugin().getDataFolder(), "protect.yml");
}
@Override
diff --git a/EssentialsProtect/src/net/ess3/protect/data/IProtectedBlock.java b/EssentialsProtect/src/net/ess3/protect/data/IProtectedBlock.java
deleted file mode 100644
index a27adfb3c..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/IProtectedBlock.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.ess3.protect.data;
-
-import java.util.List;
-import org.bukkit.block.Block;
-
-
-public interface IProtectedBlock
-{
- public void clearProtections();
-
- public void importProtections(List<OwnedBlock> blocks);
-
- public List<OwnedBlock> exportProtections();
-
- public void protectBlock(Block block, String playerName);
-
- public boolean isProtected(Block block, String playerName);
-
- public List<String> getOwners(Block block);
-
- public int unprotectBlock(Block block);
-
- public void onPluginDeactivation();
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/data/OwnedBlock.java b/EssentialsProtect/src/net/ess3/protect/data/OwnedBlock.java
deleted file mode 100644
index cac1826e9..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/OwnedBlock.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package net.ess3.protect.data;
-
-
-public class OwnedBlock
-{
- final int x;
- final int y;
- final int z;
- final String world;
- final String playerName;
-
- public OwnedBlock(int x, int y, int z, String world, String playerName)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- this.world = world;
- this.playerName = playerName;
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockJDBC.java b/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockJDBC.java
deleted file mode 100644
index 70475c6f5..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockJDBC.java
+++ /dev/null
@@ -1,434 +0,0 @@
-package net.ess3.protect.data;
-
-import com.mchange.v2.c3p0.ComboPooledDataSource;
-import java.beans.PropertyVetoException;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.bukkit.block.Block;
-
-
-public abstract class ProtectedBlockJDBC implements IProtectedBlock
-{
- protected static final Logger LOGGER = Logger.getLogger("Minecraft");
- protected final transient ComboPooledDataSource cpds;
-
- protected abstract PreparedStatement getStatementCreateTable(Connection conn) throws SQLException;
-
- protected abstract PreparedStatement getStatementUpdateFrom2_0Table(Connection conn) throws SQLException;
-
- protected abstract PreparedStatement getStatementDeleteAll(Connection conn) throws SQLException;
-
- protected abstract PreparedStatement getStatementInsert(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException;
-
- protected abstract PreparedStatement getStatementPlayerCountByLocation(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException;
-
- protected abstract PreparedStatement getStatementPlayersByLocation(Connection conn, String name, int x, int y, int z) throws SQLException;
-
- protected abstract PreparedStatement getStatementDeleteByLocation(Connection conn, String world, int x, int y, int z) throws SQLException;
-
- protected abstract PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException;
-
- public ProtectedBlockJDBC(final String driver, final String url) throws PropertyVetoException
- {
- this(driver, url, null, null);
- }
-
- public ProtectedBlockJDBC(final String driver, final String url, final String username, final String password) throws PropertyVetoException
- {
- cpds = new ComboPooledDataSource();
- cpds.setDriverClass(driver);
- cpds.setJdbcUrl(url);
- if (username != null)
- {
- cpds.setUser(username);
- cpds.setPassword(password);
- }
- cpds.setMaxStatements(20);
- createAndConvertTable();
- }
-
- private void createAndConvertTable()
- {
- Connection conn = null;
- PreparedStatement ps = null;
- try
- {
- conn = cpds.getConnection();
- ps = getStatementCreateTable(conn);
- ps.execute();
- ps.close();
- ps = getStatementUpdateFrom2_0Table(conn);
- ps.execute();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- finally
- {
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public void clearProtections()
- {
- Connection conn = null;
- PreparedStatement ps = null;
- try
- {
- conn = cpds.getConnection();
- ps = getStatementDeleteAll(conn);
- ps.executeUpdate();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- finally
- {
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public void importProtections(final List<OwnedBlock> blocks)
- {
- for (OwnedBlock ownedBlock : blocks)
- {
- if (ownedBlock.playerName == null)
- {
- continue;
- }
- protectBlock(ownedBlock.world, ownedBlock.x, ownedBlock.y, ownedBlock.z, ownedBlock.playerName);
- }
- }
-
- @Override
- public List<OwnedBlock> exportProtections()
- {
- Connection conn = null;
- PreparedStatement ps = null;
- ResultSet rs = null;
- List<OwnedBlock> blocks = new ArrayList<OwnedBlock>();
- try
- {
- conn = cpds.getConnection();
- ps = getStatementAllBlocks(conn);
- rs = ps.executeQuery();
- while (rs.next())
- {
- OwnedBlock ob = new OwnedBlock(
- rs.getInt(2),
- rs.getInt(3),
- rs.getInt(4),
- rs.getString(1),
- rs.getString(5));
- blocks.add(ob);
- }
- return blocks;
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- return blocks;
- }
- finally
- {
- if (rs != null)
- {
- try
- {
- rs.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public void protectBlock(final Block block, final String playerName)
- {
- protectBlock(block.getWorld().getName(), block.getX(), block.getY(), block.getZ(), playerName);
- }
-
- private void protectBlock(final String world, final int x, final int y, final int z, final String playerName)
- {
- Connection conn = null;
- PreparedStatement ps = null;
- try
- {
- conn = cpds.getConnection();
- ps = getStatementInsert(conn, world, x, y, z, playerName);
- ps.executeUpdate();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- finally
- {
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public boolean isProtected(final Block block, final String playerName)
- {
- Connection conn = null;
- PreparedStatement ps = null;
- ResultSet rs = null;
- try
- {
- conn = cpds.getConnection();
- ps = getStatementPlayerCountByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ(), playerName);
- rs = ps.executeQuery();
- return rs.next() && rs.getInt(1) > 0 && rs.getInt(2) == 0;
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- return true;
- }
- finally
- {
- if (rs != null)
- {
- try
- {
- rs.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public List<String> getOwners(final Block block)
- {
- Connection conn = null;
- PreparedStatement ps = null;
- ResultSet rs = null;
- List<String> owners = new ArrayList<String>();
- try
- {
- conn = cpds.getConnection();
- ps = getStatementPlayersByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ());
- rs = ps.executeQuery();
- while (rs.next())
- {
- owners.add(rs.getString(1));
- }
- return owners;
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- return owners;
- }
- finally
- {
- if (rs != null)
- {
- try
- {
- rs.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public int unprotectBlock(final Block block)
- {
- Connection conn = null;
- PreparedStatement ps = null;
- try
- {
- conn = cpds.getConnection();
- ps = getStatementDeleteByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ());
- return ps.executeUpdate();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- return 0;
- }
- finally
- {
- if (ps != null)
- {
- try
- {
- ps.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- if (conn != null)
- {
- try
- {
- conn.close();
- }
- catch (SQLException ex)
- {
- LOGGER.log(Level.SEVERE, null, ex);
- }
- }
- }
- }
-
- @Override
- public void onPluginDeactivation()
- {
- cpds.close();
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMemory.java b/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMemory.java
deleted file mode 100644
index 10c825154..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMemory.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package net.ess3.protect.data;
-
-import java.util.*;
-import java.util.Map.Entry;
-import org.bukkit.World;
-import org.bukkit.block.Block;
-import org.bukkit.plugin.Plugin;
-
-
-public final class ProtectedBlockMemory implements IProtectedBlock
-{
- private final transient List<String> worlds = new ArrayList<String>();
- private final transient List<String> playerNames = new ArrayList<String>();
- private final transient IProtectedBlock storage;
- private final transient Plugin plugin;
-
-
- static class ProtectedLocation
- {
- private final transient int x;
- private final transient int y;
- private final transient int z;
- private final transient int w;
-
- public ProtectedLocation(final Block block, final int worldId)
- {
- this.x = block.getX();
- this.y = block.getY();
- this.z = block.getZ();
- this.w = worldId;
- }
-
- public ProtectedLocation(final OwnedBlock ownedBlock, final int worldId)
- {
- this.x = ownedBlock.x;
- this.y = ownedBlock.y;
- this.z = ownedBlock.z;
- this.w = worldId;
- }
-
- @Override
- public boolean equals(final Object object)
- {
- if (object instanceof ProtectedLocation)
- {
- final ProtectedLocation pLoc = (ProtectedLocation)object;
- return x == pLoc.x && y == pLoc.y && z == pLoc.z && w == pLoc.w;
- }
- return false;
- }
-
- @Override
- public int hashCode()
- {
- return x ^ y ^ z ^ w;
- }
- }
-
-
- static class ProtectedBy
- {
- private transient int playerId = -1;
- private transient Set<Integer> playerIds;
-
- public void add(final int playerId)
- {
- if (this.playerId == -1 || this.playerId == playerId)
- {
- this.playerId = playerId;
- }
- else
- {
- if (playerIds == null)
- {
- playerIds = new HashSet<Integer>(4);
- playerIds.add(this.playerId);
- }
- playerIds.add(playerId);
- }
- }
-
- public boolean contains(final int playerId)
- {
- if (playerIds == null)
- {
- return this.playerId == playerId;
- }
- return playerIds.contains(playerId);
- }
-
- public List<String> getPlayers(final List<String> playerNames)
- {
- final List<String> list = new ArrayList<String>(2);
- if (playerIds == null)
- {
- list.add(playerNames.get(playerId));
- }
- else
- {
- for (Integer integer : playerIds)
- {
- list.add(playerNames.get(integer));
- }
- }
- return list;
- }
-
- public int size()
- {
- if (playerIds == null)
- {
- return 1;
- }
- return playerIds.size();
- }
- }
- private final transient Map<ProtectedLocation, ProtectedBy> blocks = new HashMap<ProtectedLocation, ProtectedBy>();
-
- public ProtectedBlockMemory(final IProtectedBlock storage, final Plugin plugin)
- {
- this.storage = storage;
- this.plugin = plugin;
- importProtections(storage.exportProtections());
- }
-
- @Override
- public void clearProtections()
- {
- blocks.clear();
- }
-
- @Override
- public void importProtections(final List<OwnedBlock> blocks)
- {
- for (OwnedBlock ownedBlock : blocks)
- {
- final ProtectedLocation pl = new ProtectedLocation(ownedBlock, getWorldId(ownedBlock.world));
- if (ownedBlock.playerName == null)
- {
- continue;
- }
- protectBlock(pl, ownedBlock.playerName);
- }
- }
-
- @Override
- public List<OwnedBlock> exportProtections()
- {
- final List<OwnedBlock> blockList = new ArrayList<OwnedBlock>(blocks.size());
- for (Entry<ProtectedLocation, ProtectedBy> entry : blocks.entrySet())
- {
- for (String name : entry.getValue().getPlayers(playerNames))
- {
- final OwnedBlock ob = new OwnedBlock(
- entry.getKey().x,
- entry.getKey().y,
- entry.getKey().z,
- worlds.get(entry.getKey().w),
- name);
- blockList.add(ob);
- }
- }
- return blockList;
- }
-
- @Override
- public void protectBlock(final Block block, final String playerName)
- {
- final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- protectBlock(pl, playerName);
- plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable()
- {
- @Override
- public void run()
- {
- storage.protectBlock(block, playerName);
- }
- });
- }
-
- private void protectBlock(final ProtectedLocation pl, final String playerName)
- {
- final int playerId = getPlayerId(playerName);
- ProtectedBy pb = blocks.get(pl);
- if (pb == null)
- {
- pb = new ProtectedBy();
- blocks.put(pl, pb);
- }
- pb.add(playerId);
- }
-
- @Override
- public boolean isProtected(final Block block, final String playerName)
- {
- final int playerId = getPlayerId(playerName);
- final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- final ProtectedBy pb = blocks.get(pl);
- return !pb.contains(playerId);
- }
-
- @Override
- public List<String> getOwners(final Block block)
- {
- ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- ProtectedBy pb = blocks.get(pl);
- return pb.getPlayers(playerNames);
- }
-
- @Override
- public int unprotectBlock(final Block block)
- {
- final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- final ProtectedBy pb = blocks.remove(pl);
- plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable()
- {
- @Override
- public void run()
- {
- storage.unprotectBlock(block);
- }
- });
- return pb.size();
- }
-
- private int getPlayerId(final String playername)
- {
- int id = playerNames.indexOf(playername);
- if (id < 0)
- {
- playerNames.add(playername);
- id = playerNames.indexOf(playername);
- }
- return id;
- }
-
- private int getWorldId(final World world)
- {
- return getWorldId(world.getName());
- }
-
- private int getWorldId(final String name)
- {
- int id = worlds.indexOf(name);
- if (id < 0)
- {
- worlds.add(name);
- id = worlds.indexOf(name);
- }
- return id;
- }
-
- @Override
- public void onPluginDeactivation()
- {
- storage.onPluginDeactivation();
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMySQL.java b/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMySQL.java
deleted file mode 100644
index 9fd17d0a7..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockMySQL.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package net.ess3.protect.data;
-
-import java.beans.PropertyVetoException;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-public class ProtectedBlockMySQL extends ProtectedBlockJDBC
-{
- public ProtectedBlockMySQL(final String url, final String username, final String password) throws PropertyVetoException
- {
- super("com.mysql.jdbc.Driver", url, username, password);
- }
- private static final String QueryCreateTable =
- "CREATE TABLE IF NOT EXISTS `EssentialsProtect` ("
- + "`worldName` varchar(60) NOT NULL,"
- + "`x` int(11) NOT NULL, `y` int(11) NOT NULL, `z` int(11) NOT NULL,"
- + "`playerName` varchar(150) DEFAULT NULL,"
- + "KEY `pos` (`worldName`,`x`,`z`,`y`)"
- + ") ENGINE=MyISAM DEFAULT CHARSET=utf8";
-
- @Override
- protected PreparedStatement getStatementCreateTable(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryCreateTable);
- }
- private static final String QueryUpdateFrom2_0TableCheck =
- "SHOW COLUMNS FROM `EssentialsProtect` LIKE 'id';";
- private static final String QueryUpdateFrom2_0Table =
- "ALTER TABLE `EssentialsProtect` "
- + "CHARACTER SET = utf8, ENGINE = MyISAM,"
- + "DROP COLUMN `id`,"
- + "CHANGE COLUMN `playerName` `playerName` VARCHAR(150) NULL AFTER `z`,"
- + "CHANGE COLUMN `worldName` `worldName` VARCHAR(60) NOT NULL,"
- + "ADD INDEX `position` (`worldName` ASC, `x` ASC, `z` ASC, `y` ASC),"
- + "DROP PRIMARY KEY ;";
-
- @Override
- protected PreparedStatement getStatementUpdateFrom2_0Table(final Connection conn) throws SQLException
- {
- PreparedStatement testPS = null;
- ResultSet testRS = null;
- try
- {
- testPS = conn.prepareStatement(QueryUpdateFrom2_0TableCheck);
- testRS = testPS.executeQuery();
- if (testRS.first())
- {
- return conn.prepareStatement(QueryUpdateFrom2_0Table);
- }
- else
- {
- return conn.prepareStatement("SELECT 1;");
- }
- }
- finally
- {
- if (testRS != null)
- {
- try
- {
- testRS.close();
- }
- catch (SQLException ex)
- {
- Logger.getLogger(ProtectedBlockMySQL.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- if (testPS != null)
- {
- try
- {
- testPS.close();
- }
- catch (SQLException ex)
- {
- Logger.getLogger(ProtectedBlockMySQL.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- }
- private static final String QueryDeleteAll = "DELETE FROM EssentialsProtect;";
-
- @Override
- protected PreparedStatement getStatementDeleteAll(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryDeleteAll);
- }
- private static final String QueryInsert =
- "INSERT INTO EssentialsProtect (worldName, x, y, z, playerName) VALUES (?, ?, ?, ?, ?);";
-
- @Override
- protected PreparedStatement getStatementInsert(final Connection conn, final String world, final int x, final int y, final int z,
- final String playerName) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryInsert);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- ps.setString(5, playerName);
- return ps;
- }
- private static final String QueryCountByPlayer =
- "SELECT COUNT(playerName), SUM(playerName = ?) FROM EssentialsProtect "
- + "WHERE worldName = ? AND x = ? AND y = ? AND z = ? GROUP BY x;";
-
- @Override
- protected PreparedStatement getStatementPlayerCountByLocation(final Connection conn, final String world, final int x, final int y, final int z,
- final String playerName) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryCountByPlayer);
- ps.setString(1, playerName);
- ps.setString(2, world);
- ps.setInt(3, x);
- ps.setInt(4, y);
- ps.setInt(5, z);
- return ps;
- }
- private static final String QueryPlayersByLocation =
- "SELECT playerName FROM EssentialsProtect WHERE worldname = ? AND x = ? AND y = ? AND z = ?;";
-
- @Override
- protected PreparedStatement getStatementPlayersByLocation(final Connection conn, final String world,
- final int x, final int y, final int z) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- return ps;
- }
- private static final String QueryDeleteByLocation =
- "DELETE FROM EssentialsProtect WHERE worldName = ? AND x = ? AND y = ? AND z = ?;";
-
- @Override
- protected PreparedStatement getStatementDeleteByLocation(final Connection conn, final String world,
- final int x, final int y, final int z) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- return ps;
- }
- private static final String QueryAllBlocks =
- "SELECT worldName, x, y, z, playerName FROM EssentialsProtect;";
-
- @Override
- protected PreparedStatement getStatementAllBlocks(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryAllBlocks);
- }
-}
diff --git a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockSQLite.java b/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockSQLite.java
deleted file mode 100644
index 65dbac213..000000000
--- a/EssentialsProtect/src/net/ess3/protect/data/ProtectedBlockSQLite.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package net.ess3.protect.data;
-
-import java.beans.PropertyVetoException;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-
-
-public class ProtectedBlockSQLite extends ProtectedBlockJDBC
-{
- public ProtectedBlockSQLite(final String url) throws PropertyVetoException
- {
- super("org.sqlite.JDBC", url);
- }
- private static final String QueryCreateTable =
- "CREATE TABLE IF NOT EXISTS EssentialsProtect ("
- + "worldName TEXT ,playerName TEXT, "
- + "x NUMERIC, y NUMERIC, z NUMERIC)";
-
- @Override
- protected PreparedStatement getStatementCreateTable(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryCreateTable);
- }
- private static final String QueryUpdateFrom2_0Table =
- "CREATE INDEX IF NOT EXISTS position ON EssentialsProtect ("
- + "worldName, x, z, y)";
-
- @Override
- protected PreparedStatement getStatementUpdateFrom2_0Table(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryUpdateFrom2_0Table);
- }
- private static final String QueryDeleteAll = "DELETE FROM EssentialsProtect;";
-
- @Override
- protected PreparedStatement getStatementDeleteAll(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryDeleteAll);
- }
- private static final String QueryInsert =
- "INSERT INTO EssentialsProtect (worldName, x, y, z, playerName) VALUES (?, ?, ?, ?, ?);";
-
- @Override
- protected PreparedStatement getStatementInsert(final Connection conn, final String world,
- final int x, final int y, final int z, final String playerName) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryInsert);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- ps.setString(5, playerName);
- return ps;
- }
- private static final String QueryPlayerCountByLocation =
- "SELECT COUNT(playerName), SUM(playerName = ?) FROM EssentialsProtect "
- + "WHERE worldName = ? AND x = ? AND y = ? AND z = ? GROUP BY x;";
-
- @Override
- protected PreparedStatement getStatementPlayerCountByLocation(final Connection conn, final String world,
- final int x, final int y, final int z, final String playerName) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryPlayerCountByLocation);
- ps.setString(1, playerName);
- ps.setString(2, world);
- ps.setInt(3, x);
- ps.setInt(4, y);
- ps.setInt(5, z);
- return ps;
- }
- private static final String QueryPlayersByLocation =
- "SELECT playerName FROM EssentialsProtect WHERE worldname = ? AND x = ? AND y = ? AND z = ?;";
-
- @Override
- protected PreparedStatement getStatementPlayersByLocation(final Connection conn, final String world,
- final int x, final int y, final int z) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- return ps;
- }
- private static final String QueryDeleteByLocation =
- "DELETE FROM EssentialsProtect WHERE worldName = ? AND x = ? AND y = ? AND z = ?;";
-
- @Override
- protected PreparedStatement getStatementDeleteByLocation(final Connection conn, final String world,
- final int x, final int y, final int z) throws SQLException
- {
- final PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
- ps.setString(1, world);
- ps.setInt(2, x);
- ps.setInt(3, y);
- ps.setInt(4, z);
- return ps;
- }
- private static final String QueryAllBlocks =
- "SELECT worldName, x, y, z, playerName FROM EssentialsProtect;";
-
- @Override
- protected PreparedStatement getStatementAllBlocks(final Connection conn) throws SQLException
- {
- return conn.prepareStatement(QueryAllBlocks);
- }
-}
diff --git a/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java b/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java
index 3a9f9f903..ad48074fb 100644
--- a/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java
+++ b/EssentialsSigns/src/net/ess3/signs/EssentialsSign.java
@@ -10,6 +10,7 @@ import net.ess3.api.IUser;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
+import net.ess3.utils.FormatUtil;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
@@ -268,7 +269,7 @@ public class EssentialsSign
final Double money = trade.getMoney();
if (money != null)
{
- sign.setLine(index, Util.shortCurrency(money, ess));
+ sign.setLine(index, FormatUtil.shortCurrency(money, ess));
}
}
@@ -297,7 +298,7 @@ public class EssentialsSign
return new Trade(amount, ess);
}
final ItemStack item = getItemStack(sign.getLine(itemIndex), 1, ess);
- final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getInventory().getSize());
+ final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getPlayer().getInventory().getSize());
if (item.getTypeId() == 0 || amount < 1)
{
throw new SignException(_("moreThanZero"));
diff --git a/EssentialsSigns/src/net/ess3/signs/EssentialsSignsPlugin.java b/EssentialsSigns/src/net/ess3/signs/EssentialsSignsPlugin.java
index d2f615d52..1b661e458 100644
--- a/EssentialsSigns/src/net/ess3/signs/EssentialsSignsPlugin.java
+++ b/EssentialsSigns/src/net/ess3/signs/EssentialsSignsPlugin.java
@@ -4,6 +4,7 @@ import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import java.util.logging.Level;
import java.util.logging.Logger;
+import net.ess3.api.IPlugin;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -18,12 +19,13 @@ public class EssentialsSignsPlugin extends JavaPlugin implements ISignsPlugin
public void onEnable()
{
final PluginManager pluginManager = getServer().getPluginManager();
- final IEssentials ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
- if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
+ final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
+ final IEssentials ess = (IEssentials)plugin.getEssentials();
+ if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
- if (!ess.isEnabled())
+ if (!plugin.isEnabled())
{
this.setEnabled(false);
return;
diff --git a/EssentialsSigns/src/net/ess3/signs/SignBalance.java b/EssentialsSigns/src/net/ess3/signs/SignBalance.java
index 35a1648ae..81cac977a 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignBalance.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignBalance.java
@@ -3,6 +3,7 @@ package net.ess3.signs;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
+import net.ess3.utils.FormatUtil;
import net.ess3.utils.Util;
@@ -16,7 +17,7 @@ public class SignBalance extends EssentialsSign
@Override
protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
- player.sendMessage(_("balance", Util.displayCurrency(player.getMoney(), ess)));
+ player.sendMessage(_("balance", FormatUtil.displayCurrency(player.getMoney(), ess)));
return true;
}
}
diff --git a/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java b/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java
index f44f086c9..ac44e0a61 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignBlockListener.java
@@ -6,6 +6,7 @@ import net.ess3.api.IUser;
import net.ess3.utils.Util;
import java.util.logging.Level;
import java.util.logging.Logger;
+import net.ess3.utils.FormatUtil;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
@@ -91,7 +92,7 @@ public class SignBlockListener implements Listener
for (int i = 0; i < 4; i++)
{
- event.setLine(i, Util.formatString(user, "essentials.signs", event.getLine(i)));
+ event.setLine(i, FormatUtil.formatString(user, "essentials.signs", event.getLine(i)));
}
for (Signs signs : Signs.values())
diff --git a/EssentialsSigns/src/net/ess3/signs/SignEnchant.java b/EssentialsSigns/src/net/ess3/signs/SignEnchant.java
index 6004d9f38..8369dd10e 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignEnchant.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignEnchant.java
@@ -88,7 +88,7 @@ public class SignEnchant extends EssentialsSign
level = enchantment.getMaxLevel();
}
- final ItemStack playerHand = player.getItemInHand();
+ final ItemStack playerHand = player.getPlayer().getItemInHand();
if (playerHand == null
|| playerHand.getAmount() != 1
|| (playerHand.containsEnchantment(enchantment)
@@ -113,7 +113,7 @@ public class SignEnchant extends EssentialsSign
charge.charge(player);
Trade.log("Sign", "Enchant", "Interact", username, charge, username, charge, sign.getBlock().getLocation(), ess);
- player.updateInventory();
+ player.getPlayer().updateInventory();
return true;
}
}
diff --git a/EssentialsSigns/src/net/ess3/signs/SignFree.java b/EssentialsSigns/src/net/ess3/signs/SignFree.java
index 2cf049346..906929e09 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignFree.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignFree.java
@@ -33,9 +33,9 @@ public class SignFree extends EssentialsSign
}
item.setAmount(item.getType().getMaxStackSize());
- InventoryWorkaround.addItem(player.getInventory(), true, item);
+ InventoryWorkaround.addItem(player.getPlayer().getInventory(), true, item);
player.sendMessage("Item added to your inventory.");
- player.updateInventory();
+ player.getPlayer().updateInventory();
//TODO: wait for a fix in bukkit
//Problem: Items can be duplicated
//Inventory i = ess.getServer().createInventory(player, InventoryType.CHEST);
diff --git a/EssentialsSigns/src/net/ess3/signs/SignGameMode.java b/EssentialsSigns/src/net/ess3/signs/SignGameMode.java
index b2e1b2db2..38acbc304 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignGameMode.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignGameMode.java
@@ -43,8 +43,8 @@ public class SignGameMode extends EssentialsSign
charge.isAffordableFor(player);
//this needs to be fixed
- player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
- player.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName()));
+ player.getPlayer().setGameMode(player.getPlayer().getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
+ player.sendMessage(_("gameMode", _(player.getPlayer().getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getPlayer().getDisplayName()));
charge.charge(player);
return true;
}
diff --git a/EssentialsSigns/src/net/ess3/signs/SignHeal.java b/EssentialsSigns/src/net/ess3/signs/SignHeal.java
index 787e7b166..6d82ba70f 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignHeal.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignHeal.java
@@ -26,9 +26,9 @@ public class SignHeal extends EssentialsSign
{
final Trade charge = getTrade(sign, 1, ess);
charge.isAffordableFor(player);
- player.setHealth(20);
- player.setFoodLevel(20);
- player.setFireTicks(0);
+ player.getPlayer().setHealth(20);
+ player.getPlayer().setFoodLevel(20);
+ player.getPlayer().setFireTicks(0);
player.sendMessage(_("youAreHealed"));
charge.charge(player);
return true;
diff --git a/EssentialsSigns/src/net/ess3/signs/SignInfo.java b/EssentialsSigns/src/net/ess3/signs/SignInfo.java
index 426e7c04c..c738667b8 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignInfo.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignInfo.java
@@ -4,8 +4,8 @@ package net.ess3.signs;
import java.io.IOException;
import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
import net.ess3.economy.Trade;
-import net.ess3.user.User;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.TextInput;
@@ -20,14 +20,14 @@ public class SignInfo extends EssentialsSign
}
@Override
- protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
+ protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
validateTrade(sign, 3, ess);
return true;
}
@Override
- protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
+ protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException
{
final Trade charge = getTrade(sign, 3, ess);
charge.isAffordableFor(player);
diff --git a/EssentialsSigns/src/net/ess3/signs/SignProtection.java b/EssentialsSigns/src/net/ess3/signs/SignProtection.java
index e87002fd4..00eb73619 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignProtection.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignProtection.java
@@ -7,6 +7,7 @@ import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import net.ess3.utils.Util;
import java.util.*;
+import net.ess3.utils.FormatUtil;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -147,7 +148,7 @@ public class SignProtection extends EssentialsSign
{
return SignProtectionState.OWNER;
}
- if (Util.stripFormat(sign.getLine(3)).equalsIgnoreCase(username))
+ if (FormatUtil.stripFormat(sign.getLine(3)).equalsIgnoreCase(username))
{
return SignProtectionState.OWNER;
}
diff --git a/EssentialsSigns/src/net/ess3/signs/SignRepair.java b/EssentialsSigns/src/net/ess3/signs/SignRepair.java
index aea1a69cb..9da4b4d3f 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignRepair.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignRepair.java
@@ -1,9 +1,11 @@
package net.ess3.signs;
+import static net.ess3.I18n._;
+import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
+import net.ess3.api.IUser;
import net.ess3.commands.Commandrepair;
import net.ess3.economy.Trade;
-import net.ess3.user.User;
public class SignRepair extends EssentialsSign
@@ -14,7 +16,7 @@ public class SignRepair extends EssentialsSign
}
@Override
- protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
+ protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
final String repairTarget = sign.getLine(1);
if (repairTarget.isEmpty())
@@ -30,20 +32,20 @@ public class SignRepair extends EssentialsSign
}
@Override
- protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
+ protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException
{
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
Commandrepair command = new Commandrepair();
- command.setEssentials(ess);
+ command.init(ess, "repair");
String[] args = new String[]
{
sign.getLine(1)
};
try
{
- command.run(ess.getServer(), player, "repair", args);
+ command.run(player, "repair", args);
}
catch (Exception ex)
{
diff --git a/EssentialsSigns/src/net/ess3/signs/SignTime.java b/EssentialsSigns/src/net/ess3/signs/SignTime.java
index 8ef98a4d5..215721b69 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignTime.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignTime.java
@@ -5,6 +5,7 @@ import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
+import org.bukkit.World;
public class SignTime extends EssentialsSign
@@ -38,17 +39,18 @@ public class SignTime extends EssentialsSign
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
final String timeString = sign.getLine(1);
- long time = player.getWorld().getTime();
+ final World world = player.getPlayer().getWorld();
+ long time = world.getTime();
time -= time % 24000;
if ("§2Day".equalsIgnoreCase(timeString))
{
- player.getWorld().setTime(time + 24000);
+ world.setTime(time + 24000);
charge.charge(player);
return true;
}
if ("§2Night".equalsIgnoreCase(timeString))
{
- player.getWorld().setTime(time + 37700);
+ world.setTime(time + 37700);
charge.charge(player);
return true;
}
diff --git a/EssentialsSigns/src/net/ess3/signs/SignTrade.java b/EssentialsSigns/src/net/ess3/signs/SignTrade.java
index c3e78e226..d8a08982c 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignTrade.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignTrade.java
@@ -6,6 +6,7 @@ import net.ess3.economy.Trade;
import net.ess3.utils.Util;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
+import net.ess3.utils.FormatUtil;
import org.bukkit.inventory.ItemStack;
//TODO: Sell Enchantment on Trade signs?
@@ -75,16 +76,17 @@ public class SignTrade extends EssentialsSign
private Trade rechargeSign(final ISign sign, final IEssentials ess, final IUser player) throws SignException, ChargeException
{
final Trade trade = getTrade(sign, 2, false, false, ess);
- if (trade.getItemStack() != null && player.getItemInHand() != null
- && trade.getItemStack().getTypeId() == player.getItemInHand().getTypeId()
- && trade.getItemStack().getDurability() == player.getItemInHand().getDurability()
- && trade.getItemStack().getEnchantments().equals(player.getItemInHand().getEnchantments()))
+ ItemStack itemInHand = player.getPlayer().getItemInHand();
+ if (trade.getItemStack() != null && itemInHand != null
+ && trade.getItemStack().getTypeId() == itemInHand.getTypeId()
+ && trade.getItemStack().getDurability() == itemInHand.getDurability()
+ && trade.getItemStack().getEnchantments().equals(itemInHand.getEnchantments()))
{
- int amount = player.getItemInHand().getAmount();
+ int amount = itemInHand.getAmount();
amount -= amount % trade.getItemStack().getAmount();
if (amount > 0)
{
- final ItemStack stack = player.getItemInHand().clone();
+ final ItemStack stack = itemInHand.clone();
stack.setAmount(amount);
final Trade store = new Trade(stack, ess);
addAmount(sign, 2, store, ess);
@@ -139,11 +141,11 @@ public class SignTrade extends EssentialsSign
final Double money = getMoney(split[0]);
if (money != null)
{
- if (Util.shortCurrency(money, ess).length() * 2 > 15)
+ if (FormatUtil.shortCurrency(money, ess).length() * 2 > 15)
{
throw new SignException("Line can be too long!");
}
- sign.setLine(index, Util.shortCurrency(money, ess) + ":0");
+ sign.setLine(index, FormatUtil.shortCurrency(money, ess) + ":0");
return;
}
}
@@ -159,7 +161,7 @@ public class SignTrade extends EssentialsSign
{
throw new SignException(_("moreThanZero"));
}
- sign.setLine(index, Util.shortCurrency(money, ess) + ":" + Util.shortCurrency(amount, ess).substring(1));
+ sign.setLine(index, FormatUtil.shortCurrency(money, ess) + ":" + FormatUtil.shortCurrency(amount, ess).substring(1));
return;
}
}
@@ -317,7 +319,7 @@ public class SignTrade extends EssentialsSign
final Double amount = getDouble(split[1]);
if (money != null && amount != null)
{
- final String newline = Util.shortCurrency(money, ess) + ":" + Util.shortCurrency(amount + value, ess).substring(1);
+ final String newline = FormatUtil.shortCurrency(money, ess) + ":" + FormatUtil.shortCurrency(amount + value, ess).substring(1);
if (newline.length() > 15)
{
throw new SignException("This sign is full: Line too long!");
diff --git a/EssentialsSigns/src/net/ess3/signs/SignWeather.java b/EssentialsSigns/src/net/ess3/signs/SignWeather.java
index 94217aeec..18aa1f567 100644
--- a/EssentialsSigns/src/net/ess3/signs/SignWeather.java
+++ b/EssentialsSigns/src/net/ess3/signs/SignWeather.java
@@ -5,6 +5,7 @@ import net.ess3.api.ChargeException;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
+import org.bukkit.World;
public class SignWeather extends EssentialsSign
@@ -38,15 +39,16 @@ public class SignWeather extends EssentialsSign
final Trade charge = getTrade(sign, 2, ess);
charge.isAffordableFor(player);
final String weatherString = sign.getLine(1);
+ final World world = player.getPlayer().getWorld();
if ("§2Sun".equalsIgnoreCase(weatherString))
{
- player.getWorld().setStorm(false);
+ world.setStorm(false);
charge.charge(player);
return true;
}
if ("§2Storm".equalsIgnoreCase(weatherString))
{
- player.getWorld().setStorm(true);
+ world.setStorm(true);
charge.charge(player);
return true;
}
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java
index 0881aa706..d48f60e7d 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmpp.java
@@ -3,6 +3,7 @@ package net.ess3.xmpp;
import net.ess3.Console;
import net.ess3.commands.EssentialsCommand;
import net.ess3.commands.NotEnoughArgumentsException;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -24,7 +25,7 @@ public class Commandxmpp extends EssentialsCommand
else
{
final String message = getFinalArg(args, 1);
- final String senderName = sender instanceof Player ? ess.getUserMap().getUser((Player)sender).getDisplayName() : Console.NAME;
+ final String senderName = isUser(sender) ? getPlayer(sender).getDisplayName() : Console.NAME;
sender.sendMessage("[" + senderName + ">" + address + "] " + message);
if (!EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message))
{
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmppspy.java b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmppspy.java
index dcace3b7d..2fee4bbfd 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/Commandxmppspy.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/Commandxmppspy.java
@@ -4,6 +4,7 @@ import net.ess3.commands.EssentialsCommand;
import net.ess3.commands.NotEnoughArgumentsException;
import java.util.List;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java
index f62f3c3f5..849aa4331 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPP.java
@@ -9,9 +9,9 @@ import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
+import net.ess3.api.IPlugin;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -36,12 +36,13 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
instance = this;
final PluginManager pluginManager = getServer().getPluginManager();
- ess = (IEssentials)pluginManager.getPlugin("Essentials-3");
- if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion()))
+ final IPlugin plugin = (IPlugin)pluginManager.getPlugin("Essentials-3");
+ ess = plugin.getEssentials();
+ if (!this.getDescription().getVersion().equals(plugin.getDescription().getVersion()))
{
LOGGER.log(Level.WARNING, _("versionMismatchAll"));
}
- if (!ess.isEnabled())
+ if (!plugin.isEnabled())
{
this.setEnabled(false);
return;
@@ -76,7 +77,7 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
- public void setAddress(final Player user, final String address)
+ public void setAddress(final CommandSender user, final String address)
{
final String username = user.getName().toLowerCase(Locale.ENGLISH);
instance.users.setAddress(username, address);
@@ -96,7 +97,7 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
- public boolean toggleSpy(final Player user)
+ public boolean toggleSpy(final CommandSender user)
{
final String username = user.getName().toLowerCase(Locale.ENGLISH);
final boolean spy = !instance.users.isSpy(username);
@@ -105,13 +106,13 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
}
@Override
- public String getAddress(final Player user)
+ public String getAddress(final CommandSender user)
{
return instance.users.getAddress(user.getName());
}
@Override
- public boolean sendMessage(final Player user, final String message)
+ public boolean sendMessage(final CommandSender user, final String message)
{
return instance.xmpp.sendMessage(instance.users.getAddress(user.getName()), message);
}
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java
index de8a62405..4824f03db 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/EssentialsXMPPPlayerListener.java
@@ -23,22 +23,19 @@ class EssentialsXMPPPlayerListener implements Listener
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerJoin(final PlayerJoinEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
- sendMessageToSpyUsers("Player " + user.getDisplayName() + " joined the game");
+ sendMessageToSpyUsers("Player " + event.getPlayer().getDisplayName() + " joined the game");
}
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerChat(final PlayerChatEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
- sendMessageToSpyUsers(String.format(event.getFormat(), user.getDisplayName(), event.getMessage()));
+ sendMessageToSpyUsers(String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage()));
}
@EventHandler(priority= EventPriority.MONITOR)
public void onPlayerQuit(final PlayerQuitEvent event)
{
- final IUser user = ess.getUserMap().getUser(event.getPlayer());
- sendMessageToSpyUsers("Player " + user.getDisplayName() + " left the game");
+ sendMessageToSpyUsers("Player " + event.getPlayer().getDisplayName() + " left the game");
}
private void sendMessageToSpyUsers(final String message)
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/IEssentialsXMPP.java b/EssentialsXMPP/src/net/ess3/xmpp/IEssentialsXMPP.java
index 373a7879d..14fea2c78 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/IEssentialsXMPP.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/IEssentialsXMPP.java
@@ -2,13 +2,14 @@ package net.ess3.xmpp;
import net.ess3.api.IUser;
import java.util.List;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public interface IEssentialsXMPP extends Plugin
{
- String getAddress(final Player user);
+ String getAddress(final CommandSender user);
String getAddress(final String name);
@@ -16,13 +17,13 @@ public interface IEssentialsXMPP extends Plugin
IUser getUserByAddress(final String address);
- boolean sendMessage(final Player user, final String message);
+ boolean sendMessage(final CommandSender user, final String message);
boolean sendMessage(final String address, final String message);
- void setAddress(final Player user, final String address);
+ void setAddress(final CommandSender user, final String address);
- boolean toggleSpy(final Player user);
+ boolean toggleSpy(final CommandSender user);
void broadcastMessage(final IUser sender, final String message, final String xmppAddress);
}
diff --git a/EssentialsXMPP/src/net/ess3/xmpp/XMPPManager.java b/EssentialsXMPP/src/net/ess3/xmpp/XMPPManager.java
index ff49bc931..1348ef734 100644
--- a/EssentialsXMPP/src/net/ess3/xmpp/XMPPManager.java
+++ b/EssentialsXMPP/src/net/ess3/xmpp/XMPPManager.java
@@ -9,6 +9,7 @@ import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
+import net.ess3.utils.FormatUtil;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.jivesoftware.smack.*;
@@ -60,7 +61,7 @@ public final class XMPPManager extends Handler implements MessageListener, ChatM
disconnect();
connect();
}
- chat.sendMessage(Util.stripFormat(message));
+ chat.sendMessage(FormatUtil.stripFormat(message));
return true;
}
}
@@ -90,7 +91,7 @@ public final class XMPPManager extends Handler implements MessageListener, ChatM
break;
default:
final IUser sender = parent.getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant()));
- parent.broadcastMessage(sender, "=" + sender.getDisplayName() + ": " + message, StringUtils.parseBareAddress(chat.getParticipant()));
+ parent.broadcastMessage(sender, "=" + sender.getName() + ": " + message, StringUtils.parseBareAddress(chat.getParticipant()));
}
}
}
diff --git a/README.markdown b/README.markdown
index a3c2c1d42..5b7903771 100644
--- a/README.markdown
+++ b/README.markdown
@@ -18,7 +18,7 @@ Please follow the format guidelines that are saved in the project properties.
Windows users, please read this: http://help.github.com/line-endings/
The default line ending is LF.
-To build all jars, select the BuildAll project and build that. You'll find all jars inside the dist/lib folder of the BuildAll project.
+To build all jars, open this folder and use `mvn clean install` to build it. You'll find all jars inside the jars/ folder.
If you create pull requests, always make them for the master branch.
diff --git a/pom.xml b/pom.xml
index 8446b854a..62b0ce1ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,6 +21,7 @@
<module>EssentialsSigns</module>
<module>EssentialsUpdate</module>
<module>EssentialsXMPP</module>
+ <module>EssentialsAntiBuild</module>
</modules>
<repositories>
@@ -74,7 +75,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <bukkit.version>1.3.1-R0.1-SNAPSHOT</bukkit.version>
+ <bukkit.version>1.3.2-R0.1</bukkit.version>
<build.number>Unknown</build.number>
<org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
<org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>2</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>