summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2012-08-26 17:10:17 +0200
committersnowleo <schneeleo@gmail.com>2012-08-26 17:10:17 +0200
commitb36dae3f5c0b76b5e9ff733192f57bbfa066f416 (patch)
treef6da6576077e590ffd9f6d72faf2e595dc251132
parent40267faa6e2e9afcff1ee2ca45a9c9bb0f86b260 (diff)
downloadEssentials-b36dae3f5c0b76b5e9ff733192f57bbfa066f416.tar
Essentials-b36dae3f5c0b76b5e9ff733192f57bbfa066f416.tar.gz
Essentials-b36dae3f5c0b76b5e9ff733192f57bbfa066f416.tar.lz
Essentials-b36dae3f5c0b76b5e9ff733192f57bbfa066f416.tar.xz
Essentials-b36dae3f5c0b76b5e9ff733192f57bbfa066f416.zip
Removing server layer, part 1
-rw-r--r--Essentials/src/net/ess3/Console.java2
-rw-r--r--Essentials/src/net/ess3/Essentials.java29
-rw-r--r--Essentials/src/net/ess3/EssentialsTimer.java2
-rw-r--r--Essentials/src/net/ess3/ItemDb.java12
-rw-r--r--Essentials/src/net/ess3/Jails.java10
-rw-r--r--Essentials/src/net/ess3/Kits.java2
-rw-r--r--Essentials/src/net/ess3/Teleport.java22
-rw-r--r--Essentials/src/net/ess3/Warps.java6
-rw-r--r--Essentials/src/net/ess3/api/ICommandHandler.java2
-rw-r--r--Essentials/src/net/ess3/api/IEssentials.java8
-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)29
-rw-r--r--Essentials/src/net/ess3/api/IReplyTo.java3
-rw-r--r--Essentials/src/net/ess3/api/IUser.java36
-rw-r--r--Essentials/src/net/ess3/api/IUserMap.java7
-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.java8
-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.java128
-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.java47
-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/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/Commandbackup.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbalance.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbalancetop.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandban.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandbanip.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandbigtree.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandbreak.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandbroadcast.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandburn.java11
-rw-r--r--Essentials/src/net/ess3/commands/Commandclearinventory.java36
-rw-r--r--Essentials/src/net/ess3/commands/Commandcompass.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commanddelhome.java2
-rw-r--r--Essentials/src/net/ess3/commands/Commandkillall.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandkittycannon.java4
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawner.java8
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawnmob.java14
-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.java12
-rw-r--r--Essentials/src/net/ess3/commands/Commandwarp.java3
-rw-r--r--Essentials/src/net/ess3/commands/Commandweather.java6
-rw-r--r--Essentials/src/net/ess3/commands/Commandwhois.java22
-rw-r--r--Essentials/src/net/ess3/commands/Commandworkbench.java13
-rw-r--r--Essentials/src/net/ess3/commands/Commandworld.java14
-rw-r--r--Essentials/src/net/ess3/commands/Commandworth.java6
-rw-r--r--Essentials/src/net/ess3/commands/EssentialsCommand.java6
-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.java8
-rw-r--r--Essentials/src/net/ess3/economy/Trade.java13
-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.java6
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsPlayerListener.java4
-rw-r--r--Essentials/src/net/ess3/metrics/Metrics.java12
-rw-r--r--Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java12
-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.java6
-rw-r--r--Essentials/src/net/ess3/permissions/Permissions.java26
-rw-r--r--Essentials/src/net/ess3/permissions/UnlimitedItemPermissions.java9
-rw-r--r--Essentials/src/net/ess3/permissions/WarpPermissions.java6
-rw-r--r--Essentials/src/net/ess3/ranks/GMGroups.java19
-rw-r--r--Essentials/src/net/ess3/ranks/VaultGroups.java43
-rw-r--r--Essentials/src/net/ess3/settings/Kit.java2
-rw-r--r--Essentials/src/net/ess3/settings/SpawnsHolder.java8
-rw-r--r--Essentials/src/net/ess3/settings/Warp.java4
-rw-r--r--Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java2
-rw-r--r--Essentials/src/net/ess3/storage/BukkitConstructor.java25
-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.java132
-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.java73
-rw-r--r--Essentials/src/net/ess3/utils/Util.java39
-rw-r--r--Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java8
-rw-r--r--Essentials/src/net/ess3/utils/textreader/TextInput.java10
-rw-r--r--Essentials/src/net/ess3/utils/textreader/TextPager.java2
122 files changed, 859 insertions, 2362 deletions
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..915bde52e 100644
--- a/Essentials/src/net/ess3/Essentials.java
+++ b/Essentials/src/net/ess3/Essentials.java
@@ -17,10 +17,7 @@
*/
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;
@@ -45,11 +42,15 @@ import net.ess3.settings.SettingsHolder;
import net.ess3.settings.SpawnsHolder;
import net.ess3.user.UserMap;
import net.ess3.utils.ExecuteTimer;
+import org.bukkit.Server;
+import org.bukkit.World;
+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.InvalidDescriptionException;
+import org.bukkit.plugin.Plugin;
import org.yaml.snakeyaml.error.YAMLException;
@@ -78,7 +79,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
@@ -191,7 +192,7 @@ public class Essentials implements IEssentials
{
player.sendMessage("Essentials failed to load, read the log file.");
}
- this.setEnabled(false);
+ this.getPlugin().setEnabled(false);
return;
}
backup = new Backup(this);
@@ -220,7 +221,7 @@ public class Essentials implements IEssentials
final MetricsStarter metricsStarter = new MetricsStarter(this);
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
{
- getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
+ getServer().getScheduler().scheduleAsyncDelayedTask(this.getPlugin(), metricsStarter, 1);
}
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
{
@@ -308,18 +309,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]+"))
@@ -365,7 +354,7 @@ public class Essentials implements IEssentials
}
}
- return getServer().getOnlinePlayers().size();
+ return getServer().getOnlinePlayers().length;
}
/*
diff --git a/Essentials/src/net/ess3/EssentialsTimer.java b/Essentials/src/net/ess3/EssentialsTimer.java
index 9066e2f0c..ac31b9517 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
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..987ce1503 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;
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..e5679f367 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;
@@ -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/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..741e56a5f 100644
--- a/Essentials/src/net/ess3/api/IEssentials.java
+++ b/Essentials/src/net/ess3/api/IEssentials.java
@@ -3,11 +3,11 @@ 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;
+import org.bukkit.plugin.Plugin;
public interface IEssentials extends IComponent
@@ -59,7 +59,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..8a76cd549 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..a61028acd 100644
--- a/Essentials/src/net/ess3/api/server/Plugin.java
+++ b/Essentials/src/net/ess3/api/IPlugin.java
@@ -1,12 +1,11 @@
-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 {
int scheduleAsyncDelayedTask(final Runnable run);
int scheduleSyncDelayedTask(final Runnable run);
@@ -14,26 +13,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..46f3ebf59 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,22 @@ 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);
-
+
void setGodModeEnabled(boolean set);
-
+
void setVanished(boolean set);
+ void setPlayerCache(Player player);
}
diff --git a/Essentials/src/net/ess3/api/IUserMap.java b/Essentials/src/net/ess3/api/IUserMap.java
index 63cbb7340..c87dd5e5e 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 org.bukkit.entity.Player;
public interface IUserMap extends IReload
@@ -22,7 +23,7 @@ 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;
+ 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);
+ Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline) throws PlayerNotFoundException;
}
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..806f2e618 100644
--- a/Essentials/src/net/ess3/backup/Backup.java
+++ b/Essentials/src/net/ess3/backup/Backup.java
@@ -4,14 +4,14 @@ 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 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..34af338d0 100644
--- a/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
+++ b/Essentials/src/net/ess3/bukkit/BukkitPlugin.java
@@ -1,106 +1,156 @@
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.IPlugin;
+import org.bukkit.Location;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+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);
+ }
+ }
+ else
+ {
+ this.setEnabled(false);
+ }
+ }
+
+ @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);
- }
-
- public org.bukkit.Server getBukkitServer()
- {
- return bukkitPlugin.getServer();
+ EntityDamageEvent ede = new EntityDamageEvent(player, EntityDamageEvent.DamageCause.SUICIDE, 1000);
+ getServer().getPluginManager().callEvent(ede);
}
}
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..0f7fb4970
--- /dev/null
+++ b/Essentials/src/net/ess3/bukkit/LivingEntities.java
@@ -0,0 +1,47 @@
+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 static net.ess3.I18n._;
+import org.bukkit.entity.EntityType;
+
+
+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));
+ }
+}
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/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/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..a51083e2f 100644
--- a/Essentials/src/net/ess3/commands/Commandbalance.java
+++ b/Essentials/src/net/ess3/commands/Commandbalance.java
@@ -2,9 +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 net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
public class Commandbalance extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandbalancetop.java b/Essentials/src/net/ess3/commands/Commandbalancetop.java
index de952eb20..e97e3b514 100644
--- a/Essentials/src/net/ess3/commands/Commandbalancetop.java
+++ b/Essentials/src/net/ess3/commands/Commandbalancetop.java
@@ -9,7 +9,7 @@ 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 org.bukkit.command.CommandSender;
public class Commandbalancetop extends EssentialsCommand
@@ -111,7 +111,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);
}
}
diff --git a/Essentials/src/net/ess3/commands/Commandban.java b/Essentials/src/net/ess3/commands/Commandban.java
index 85b7ffc1b..91db02db8 100644
--- a/Essentials/src/net/ess3/commands/Commandban.java
+++ b/Essentials/src/net/ess3/commands/Commandban.java
@@ -6,8 +6,8 @@ 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..e773d3a29 100644
--- a/Essentials/src/net/ess3/commands/Commandbanip.java
+++ b/Essentials/src/net/ess3/commands/Commandbanip.java
@@ -3,7 +3,7 @@ package net.ess3.commands;
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..fe41b8f96 100644
--- a/Essentials/src/net/ess3/commands/Commandbigtree.java
+++ b/Essentials/src/net/ess3/commands/Commandbigtree.java
@@ -2,9 +2,9 @@ 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 +31,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..c9620cb65 100644
--- a/Essentials/src/net/ess3/commands/Commandbroadcast.java
+++ b/Essentials/src/net/ess3/commands/Commandbroadcast.java
@@ -1,8 +1,8 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.api.server.CommandSender;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
diff --git a/Essentials/src/net/ess3/commands/Commandburn.java b/Essentials/src/net/ess3/commands/Commandburn.java
index d4fe4f5ec..0e2470d56 100644
--- a/Essentials/src/net/ess3/commands/Commandburn.java
+++ b/Essentials/src/net/ess3/commands/Commandburn.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 Commandburn extends EssentialsCommand
@@ -15,10 +16,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..deee8b623 100644
--- a/Essentials/src/net/ess3/commands/Commandclearinventory.java
+++ b/Essentials/src/net/ess3/commands/Commandclearinventory.java
@@ -2,53 +2,33 @@ 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 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..334404349 100644
--- a/Essentials/src/net/ess3/commands/Commanddelhome.java
+++ b/Essentials/src/net/ess3/commands/Commanddelhome.java
@@ -5,8 +5,6 @@ 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;
public class Commanddelhome extends EssentialsCommand
diff --git a/Essentials/src/net/ess3/commands/Commandkillall.java b/Essentials/src/net/ess3/commands/Commandkillall.java
index a04eccd7d..dc43e2071 100644
--- a/Essentials/src/net/ess3/commands/Commandkillall.java
+++ b/Essentials/src/net/ess3/commands/Commandkillall.java
@@ -2,13 +2,13 @@ package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.bukkit.Mob;
+import net.ess3.bukkit.LivingEntities;
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;
+import net.ess3.bukkit.LivingEntities;
//TODO: remove these
import org.bukkit.Chunk;
import org.bukkit.entity.*;
@@ -78,11 +78,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).getType().getEntityClass();
}
int numKills = 0;
for (Chunk chunk : world.getLoadedChunks())
diff --git a/Essentials/src/net/ess3/commands/Commandkittycannon.java b/Essentials/src/net/ess3/commands/Commandkittycannon.java
index 80dd7c4dd..1443b228f 100644
--- a/Essentials/src/net/ess3/commands/Commandkittycannon.java
+++ b/Essentials/src/net/ess3/commands/Commandkittycannon.java
@@ -4,7 +4,7 @@ package net.ess3.commands;
import java.util.Random;
import net.ess3.api.IUser;
import net.ess3.api.server.Location;
-import net.ess3.bukkit.Mob;
+import net.ess3.bukkit.LivingEntities;
//TODO: remove this
import org.bukkit.entity.Ocelot;
@@ -16,7 +16,7 @@ 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 LivingEntities cat = LivingEntities.OCELOT;
final Ocelot ocelot = (Ocelot)cat.spawn(user, server, user.getEyeLocation());
if (ocelot == null)
{
diff --git a/Essentials/src/net/ess3/commands/Commandspawner.java b/Essentials/src/net/ess3/commands/Commandspawner.java
index 57eaec651..7b5acaf43 100644
--- a/Essentials/src/net/ess3/commands/Commandspawner.java
+++ b/Essentials/src/net/ess3/commands/Commandspawner.java
@@ -1,7 +1,7 @@
package net.ess3.commands;
import static net.ess3.I18n._;
-import net.ess3.bukkit.Mob;
+import net.ess3.bukkit.LivingEntities;
import net.ess3.economy.Trade;
import net.ess3.api.IUser;
import net.ess3.permissions.SpawnerPermissions;
@@ -21,7 +21,7 @@ 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.getMobList())));
}
final Location target = LocationUtil.getTarget(user);
@@ -34,8 +34,8 @@ public class Commandspawner extends EssentialsCommand
{
String name = args[0];
- Mob mob = null;
- mob = Mob.fromName(name);
+ LivingEntities mob = null;
+ mob = LivingEntities.fromName(name);
if (mob == null)
{
user.sendMessage(_("invalidMob"));
diff --git a/Essentials/src/net/ess3/commands/Commandspawnmob.java b/Essentials/src/net/ess3/commands/Commandspawnmob.java
index d83749272..21f79a657 100644
--- a/Essentials/src/net/ess3/commands/Commandspawnmob.java
+++ b/Essentials/src/net/ess3/commands/Commandspawnmob.java
@@ -8,8 +8,8 @@ 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;
@@ -27,7 +27,7 @@ public class Commandspawnmob extends EssentialsCommand
{
if (args.length < 1)
{
- final Set<String> mobList = Mob.getMobList();
+ final Set<String> mobList = LivingEntities.getMobList();
final Set<String> availableList = new HashSet<String>();
for (String mob : mobList)
{
@@ -66,11 +66,11 @@ public class Commandspawnmob extends EssentialsCommand
Entity spawnedMob = null;
- Mob mob = null;
+ LivingEntities mob = null;
Entity spawnedMount = null;
- Mob mobMount = null;
+ LivingEntities mobMount = null;
- mob = Mob.fromName(mobType);
+ mob = LivingEntities.fromName(mobType);
if (mob == null)
{
throw new Exception(_("invalidMob"));
@@ -104,7 +104,7 @@ public class Commandspawnmob extends EssentialsCommand
if (mountType != null)
{
- mobMount = Mob.fromName(mountType);
+ mobMount = LivingEntities.fromName(mountType);
if (mobMount == null)
{
user.sendMessage(_("invalidMob"));
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..2a2318a1d 100644
--- a/Essentials/src/net/ess3/commands/Commandunlimited.java
+++ b/Essentials/src/net/ess3/commands/Commandunlimited.java
@@ -2,13 +2,13 @@ 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.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
@@ -41,7 +41,7 @@ public class Commandunlimited extends EssentialsCommand
final Set<Material> itemList = target.getData().getUnlimited();
for(Material mat : itemList)
{
- toggleUnlimited(user, target, mat.getName());
+ toggleUnlimited(user, target, mat.toString());
}
}
@@ -68,7 +68,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);
}
@@ -100,9 +100,9 @@ public class Commandunlimited extends EssentialsCommand
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..53a86941f 100644
--- a/Essentials/src/net/ess3/commands/Commandwarp.java
+++ b/Essentials/src/net/ess3/commands/Commandwarp.java
@@ -11,8 +11,7 @@ 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 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..b6eeaa2db 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._;
@@ -12,6 +10,8 @@ import net.ess3.permissions.Permissions;
import net.ess3.user.UserData;
import net.ess3.utils.DateUtil;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
@@ -25,7 +25,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))
{
@@ -45,7 +45,7 @@ public class Commandwhois extends EssentialsCommand
for (Player onlinePlayer : server.getOnlinePlayers())
{
@Cleanup
- final IUser user = onlinePlayer.getUser();
+ final IUser user = ess.getUserMap().getUser(onlinePlayer);
if (user.isHidden() && !showhidden)
{
@@ -62,22 +62,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(_("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", Util.displayCurrency(user.getMoney(), ess)));
- sender.sendMessage(_("whoisIPAddress", user.getAddress().getAddress().toString()));
+ 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..bff368964 100644
--- a/Essentials/src/net/ess3/commands/Commandworld.java
+++ b/Essentials/src/net/ess3/commands/Commandworld.java
@@ -3,11 +3,11 @@ package net.ess3.commands;
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.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 +36,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 +58,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 +71,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..99bed8a21 100644
--- a/Essentials/src/net/ess3/commands/Commandworth.java
+++ b/Essentials/src/net/ess3/commands/Commandworth.java
@@ -3,9 +3,9 @@ package net.ess3.commands;
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 org.bukkit.command.CommandSender;
+import org.bukkit.inventory.ItemStack;
public class Commandworth extends EssentialsCommand
@@ -14,7 +14,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)
diff --git a/Essentials/src/net/ess3/commands/EssentialsCommand.java b/Essentials/src/net/ess3/commands/EssentialsCommand.java
index 6afd42f01..5eedf4ce0 100644
--- a/Essentials/src/net/ess3/commands/EssentialsCommand.java
+++ b/Essentials/src/net/ess3/commands/EssentialsCommand.java
@@ -4,14 +4,12 @@ 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;
public abstract class EssentialsCommand extends AbstractSuperpermsPermission implements IEssentialsCommand
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..17efe7514 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)
{
@@ -37,7 +39,7 @@ public class SetExpFix
}
}
- private static int getExpToLevel(final IPlayer player)
+ private static int getExpToLevel(final Player player)
{
return getExpToLevel(player.getLevel());
}
@@ -49,7 +51,7 @@ public class SetExpFix
//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 currentLevel = player.getLevel();
diff --git a/Essentials/src/net/ess3/economy/Trade.java b/Essentials/src/net/ess3/economy/Trade.java
index 5dc5322e8..c95b4f7ee 100644
--- a/Essentials/src/net/ess3/economy/Trade.java
+++ b/Essentials/src/net/ess3/economy/Trade.java
@@ -1,10 +1,7 @@
package net.ess3.economy;
-import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
-import java.text.DateFormat;
-import java.util.Date;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Level;
@@ -15,10 +12,10 @@ 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.permissions.NoCommandCostPermissions;
import net.ess3.permissions.Permissions;
+import org.bukkit.Location;
+import org.bukkit.inventory.ItemStack;
@@ -129,13 +126,13 @@ public class Trade
{
final ItemStack stack = dropStack.clone();
stack.setAmount(maxStackSize);
- itemStacks[i] = user.getWorld().dropItem(loc, stack);
+ itemStacks[i] = user.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.getWorld().dropItem(loc, stack).getItemStack();
}
}
}
@@ -143,7 +140,7 @@ public class Trade
{
success = user.getInventory().addAllItems(true, getItemStack());
}
- user.updateInventory();
+ user.getPlayer().updateInventory();
}
if (getExperience() != null)
{
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..9c8c80803 100644
--- a/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsEntityListener.java
@@ -63,7 +63,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 +71,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..b09cc84cb 100644
--- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
@@ -290,7 +290,7 @@ 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()
@@ -424,7 +424,7 @@ public class EssentialsPlayerListener implements Listener
else
{
used = true;
- ess.scheduleSyncDelayedTask(
+ ess.getPlugin().scheduleSyncDelayedTask(
new Runnable()
{
@Override
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..14710a995 100644
--- a/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java
+++ b/Essentials/src/net/ess3/permissions/AbstractSuperpermsPermission.java
@@ -1,9 +1,11 @@
package net.ess3.permissions;
+import net.ess3.bukkit.PermissionFactory;
import net.ess3.api.IPermission;
-import net.ess3.api.server.CommandSender;
-import net.ess3.api.server.Permission;
import net.ess3.utils.Util;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionDefault;
public abstract class AbstractSuperpermsPermission implements IPermission
@@ -21,7 +23,7 @@ public abstract class AbstractSuperpermsPermission implements IPermission
}
else
{
- return null;// Util.registerPermission(getPermission(), getPermissionDefault());
+ return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
}
}
@@ -31,9 +33,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..c01768fa6 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 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..b550d9ca3 100644
--- a/Essentials/src/net/ess3/permissions/Permissions.java
+++ b/Essentials/src/net/ess3/permissions/Permissions.java
@@ -1,9 +1,11 @@
package net.ess3.permissions;
+import net.ess3.bukkit.PermissionFactory;
import java.util.Locale;
import net.ess3.api.IPermission;
-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 enum Permissions implements IPermission
@@ -22,7 +24,7 @@ public enum Permissions implements IPermission
CHAT_SPY,
CLEARINVENTORY_OTHERS,
DELHOME_OTHERS,
- ECO_LOAN(Permission.Default.FALSE),
+ ECO_LOAN(PermissionDefault.FALSE),
EXP_GIVE,
EXP_GIVE_OTHERS,
EXP_SET,
@@ -31,8 +33,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 +60,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,
@@ -84,21 +86,21 @@ 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 +123,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..f8d146b61 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 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..3cda0003a 100644
--- a/Essentials/src/net/ess3/ranks/GMGroups.java
+++ b/Essentials/src/net/ess3/ranks/GMGroups.java
@@ -6,7 +6,6 @@ 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.Util;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
@@ -25,7 +24,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 +35,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 +46,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 +57,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 +68,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 +79,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;
@@ -105,7 +104,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 +122,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 +133,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/VaultGroups.java b/Essentials/src/net/ess3/ranks/VaultGroups.java
index ab0a32755..76bad31eb 100644
--- a/Essentials/src/net/ess3/ranks/VaultGroups.java
+++ b/Essentials/src/net/ess3/ranks/VaultGroups.java
@@ -6,9 +6,9 @@ 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.Util;
import net.milkbowl.vault.chat.Chat;
+import org.bukkit.plugin.RegisteredServiceProvider;
public class VaultGroups implements IRanks
@@ -19,47 +19,52 @@ 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
@@ -79,8 +84,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 +100,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/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..f35d46ac4 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;
@@ -187,6 +187,8 @@ public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IE
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());
}
diff --git a/Essentials/src/net/ess3/settings/Warp.java b/Essentials/src/net/ess3/settings/Warp.java
index 963a5420a..2dced7328 100644
--- a/Essentials/src/net/ess3/settings/Warp.java
+++ b/Essentials/src/net/ess3/settings/Warp.java
@@ -2,7 +2,7 @@ package net.ess3.settings;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import net.ess3.storage.Location;
+import net.ess3.storage.StoredLocation;
import net.ess3.storage.StorageObject;
@Data
@@ -10,5 +10,5 @@ import net.ess3.storage.StorageObject;
public class Warp implements StorageObject
{
private String name;
- private Location location;
+ private StoredLocation location;
}
diff --git a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
index 9dc010640..e92709dea 100644
--- a/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
+++ b/Essentials/src/net/ess3/storage/AbstractDelayedYamlFileReader.java
@@ -32,7 +32,7 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp
}
else
{
- ess.getPlugin().scheduleAsyncDelayedTask(this);
+ ess.getPlugin().getServer().getScheduler().scheduleAsyncDelayedTask(ess.getPlugin(), this);
}
}
diff --git a/Essentials/src/net/ess3/storage/BukkitConstructor.java b/Essentials/src/net/ess3/storage/BukkitConstructor.java
index 23a88325f..e72aaea79 100644
--- a/Essentials/src/net/ess3/storage/BukkitConstructor.java
+++ b/Essentials/src/net/ess3/storage/BukkitConstructor.java
@@ -6,11 +6,12 @@ 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.bukkit.plugin.Plugin;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.constructor.Constructor;
import org.yaml.snakeyaml.error.YAMLException;
@@ -21,9 +22,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 +45,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 +69,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 +107,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 +127,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..bc5187205 100644
--- a/Essentials/src/net/ess3/user/User.java
+++ b/Essentials/src/net/ess3/user/User.java
@@ -1,10 +1,9 @@
package net.ess3.user;
-import net.ess3.Console;
+import java.lang.ref.WeakReference;
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;
@@ -17,6 +16,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
import lombok.Cleanup;
import lombok.Getter;
import lombok.Setter;
+import net.ess3.Console;
+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
@@ -44,13 +49,43 @@ public class User extends UserBase implements IUser
private boolean invSee = 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 +112,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();
@@ -124,7 +153,7 @@ public class User extends UserBase implements IUser
sendMessage(_("addedToAccount", Util.displayCurrency(value, ess)));
if (initiator != null)
{
- initiator.sendMessage(_("addedToOthersAccount", Util.displayCurrency(value, ess), this.getDisplayName()));
+ initiator.sendMessage(_("addedToOthersAccount", Util.displayCurrency(value, ess), this.getPlayer().getDisplayName()));
}
}
finally
@@ -144,8 +173,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", Util.displayCurrency(value, ess), reciever.getPlayer().getDisplayName()));
+ reciever.sendMessage(_("moneyRecievedFrom", Util.displayCurrency(value, ess), getPlayer().getDisplayName()));
}
else
{
@@ -170,18 +199,18 @@ public class User extends UserBase implements IUser
sendMessage(_("takenFromAccount", Util.displayCurrency(value, ess)));
if (initiator != null)
{
- initiator.sendMessage(_("takenFromOthersAccount", Util.displayCurrency(value, ess), this.getDisplayName()));
+ initiator.sendMessage(_("takenFromOthersAccount", Util.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 +219,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 +258,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 +274,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 +285,7 @@ public class User extends UserBase implements IUser
}
try
{
- setPlayerListName(name);
+ getPlayer().setPlayerListName(name);
}
catch (IllegalArgumentException e)
{
@@ -264,12 +294,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 +354,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 +371,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 +465,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 +490,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 +510,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 +536,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 +544,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 Util.stripColor(this.getPlayer().getDisplayName()).compareTo(Util.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 +612,7 @@ public class User extends UserBase implements IUser
{
sendMessage(_("InvFull"));
}
- updateInventory();
+ getPlayer().updateInventory();
}
@Override
@@ -607,14 +630,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 +650,17 @@ public class User extends UserBase implements IUser
settings.acquireReadLock();
int oversizedStackSize = settings.getData().getGeneral().getOversizedStacksize();
- overfilled = getInventory().addItem(true, oversizedStackSize, itemStack);
+ overfilled = getPlayer().getInventory().addItem(true, oversizedStackSize, itemStack);
}
else
{
- overfilled = getInventory().addItem(true, itemStack);
+ overfilled = getPlayer().getInventory().addItem(true, itemStack);
}
if (canSpew)
{
for (ItemStack overflowStack : overfilled.values())
{
- getWorld().dropItemNaturally(getLocation(), overflowStack);
+ getPlayer().getWorld().dropItemNaturally(getPlayer().getLocation(), overflowStack);
spew = true;
}
}
@@ -720,7 +743,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 +753,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 +761,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..e821e7785 100644
--- a/Essentials/src/net/ess3/user/UserMap.java
+++ b/Essentials/src/net/ess3/user/UserMap.java
@@ -9,9 +9,9 @@ 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.Util;
+import org.bukkit.entity.Player;
public class UserMap extends StorageObjectMap<IUser> implements IUserMap
@@ -36,19 +36,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 +89,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
{
@@ -147,7 +147,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 +157,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 +209,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/Util.java b/Essentials/src/net/ess3/utils/Util.java
index 273cd4679..9fa50f0df 100644
--- a/Essentials/src/net/ess3/utils/Util.java
+++ b/Essentials/src/net/ess3/utils/Util.java
@@ -291,45 +291,6 @@ public final class Util
}
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])");
diff --git a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
index 5b0a5066f..dc58ecc5e 100644
--- a/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
+++ b/Essentials/src/net/ess3/utils/textreader/KeywordReplacer.java
@@ -2,9 +2,6 @@ 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;
@@ -12,6 +9,9 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import lombok.Cleanup;
+import org.bukkit.World;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -35,7 +35,7 @@ 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();
diff --git a/Essentials/src/net/ess3/utils/textreader/TextInput.java b/Essentials/src/net/ess3/utils/textreader/TextInput.java
index b0a0707af..d0c208467 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())
{
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