summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Essentials/src/com/earth2me/essentials/Essentials.java86
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsTimer.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/Jails.java148
-rw-r--r--Essentials/src/com/earth2me/essentials/Kits.java14
-rw-r--r--Essentials/src/com/earth2me/essentials/Teleport.java3
-rw-r--r--Essentials/src/com/earth2me/essentials/api/IEssentials.java13
-rw-r--r--Essentials/src/com/earth2me/essentials/api/ITeleport.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/api/IUser.java8
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandback.java13
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandbackup.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandban.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandessentials.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandexp.java18
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandfly.java16
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java6
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgive.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandhat.java10
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandhelp.java14
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandhome.java8
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java6
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commanditem.java18
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandkit.java17
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandspawner.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandtime.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandtpo.java6
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandtppos.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandvanish.java11
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/economy/MoneyHolder.java14
-rw-r--r--Essentials/src/com/earth2me/essentials/economy/WorthHolder.java14
-rw-r--r--Essentials/src/com/earth2me/essentials/listener/TntExplodeListener.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/metrics/MetricsListener.java6
-rw-r--r--Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/ranks/GMGroups.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/ranks/RanksStorage.java14
-rw-r--r--Essentials/src/com/earth2me/essentials/ranks/VaultGroups.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/General.java42
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java12
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/SpawnsHolder.java13
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/WarpHolder.java13
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/WorldOptions.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java7
-rw-r--r--Essentials/src/com/earth2me/essentials/user/IOfflinePlayer.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/user/User.java1138
-rw-r--r--Essentials/src/com/earth2me/essentials/utils/Util.java102
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java1
-rw-r--r--pom.xml2
48 files changed, 1601 insertions, 231 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java
index dc63d3020..13197aad7 100644
--- a/Essentials/src/com/earth2me/essentials/Essentials.java
+++ b/Essentials/src/com/earth2me/essentials/Essentials.java
@@ -17,34 +17,25 @@
*/
package com.earth2me.essentials;
-import com.earth2me.essentials.economy.Trade;
-import com.earth2me.essentials.commands.EssentialsCommandHandler;
-import com.earth2me.essentials.utils.ExecuteTimer;
-import com.earth2me.essentials.economy.WorthHolder;
-import com.earth2me.essentials.economy.Economy;
-import com.earth2me.essentials.backup.Backup;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.*;
-import com.earth2me.essentials.listener.*;
+import com.earth2me.essentials.backup.Backup;
+import com.earth2me.essentials.commands.EssentialsCommandHandler;
+import com.earth2me.essentials.economy.Economy;
+import com.earth2me.essentials.economy.Trade;
+import com.earth2me.essentials.economy.WorthHolder;
import com.earth2me.essentials.economy.register.Methods;
+import com.earth2me.essentials.listener.*;
+import com.earth2me.essentials.metrics.Metrics;
+import com.earth2me.essentials.metrics.MetricsListener;
+import com.earth2me.essentials.metrics.MetricsStarter;
import com.earth2me.essentials.ranks.RanksStorage;
import com.earth2me.essentials.settings.SettingsHolder;
import com.earth2me.essentials.settings.SpawnsHolder;
+import com.earth2me.essentials.user.IOfflinePlayer;
+import com.earth2me.essentials.user.User;
import com.earth2me.essentials.user.UserMap;
-import com.earth2me.essentials.api.Economy;
-import com.earth2me.essentials.api.IJails;
-import com.earth2me.essentials.commands.EssentialsCommand;
-import com.earth2me.essentials.commands.IEssentialsCommand;
-import com.earth2me.essentials.commands.NoChargeException;
-import com.earth2me.essentials.commands.NotEnoughArgumentsException;
-import com.earth2me.essentials.metrics.Metrics;
-import com.earth2me.essentials.metrics.MetricsListener;
-import com.earth2me.essentials.metrics.MetricsStarter;
-import com.earth2me.essentials.perm.PermissionsHandler;
-import com.earth2me.essentials.register.payment.Methods;
-import com.earth2me.essentials.signs.SignBlockListener;
-import com.earth2me.essentials.signs.SignEntityListener;
-import com.earth2me.essentials.signs.SignPlayerListener;
+import com.earth2me.essentials.utils.ExecuteTimer;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
@@ -54,6 +45,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import lombok.Getter;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.Command;
@@ -95,7 +87,9 @@ public class Essentials extends JavaPlugin implements IEssentials
private transient Economy economy;
public transient boolean testing;
private transient Metrics metrics;
+ @Getter
private transient EssentialsTimer timer;
+ @Getter
private transient List<String> vanishedPlayers = new ArrayList<String>();
@Override
@@ -256,7 +250,7 @@ public class Essentials extends JavaPlugin implements IEssentials
final MetricsStarter metricsStarter = new MetricsStarter(this);
if (metricsStarter.getStart() != null && metricsStarter.getStart() == true)
{
- getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
+ getServer().getScheduler().scheduleAsyncDelayedTask(this, metricsStarter, 1);
}
else if (metricsStarter.getStart() != null && metricsStarter.getStart() == false)
{
@@ -345,8 +339,52 @@ public class Essentials extends JavaPlugin implements IEssentials
{
this.metrics = metrics;
}
-
+
@Override
+ public IUser getUser(final Object base)
+ {
+ if (base instanceof Player)
+ {
+ return getUser((Player)base);
+ }
+ if (base instanceof String)
+ {
+ final IUser user = userMap.getUser((String)base);
+ if (user != null && user.getBase() instanceof IOfflinePlayer)
+ {
+ ((IOfflinePlayer)user.getBase()).setName((String)base);
+ }
+ return user;
+ }
+ return null;
+ }
+
+ private <T extends Player> IUser getUser(final T base)
+ {
+ if (base == null)
+ {
+ return null;
+ }
+
+ if (base instanceof IUser)
+ {
+ return (IUser)base;
+ }
+ IUser user = userMap.getUser(base.getName());
+
+ if (user == null)
+ {
+ user = new User(base, this);
+ }
+ else
+ {
+ //todo - fix this
+ user.update(base);
+ }
+ return user;
+ }
+
+ /*@Override
public IUser getUser(final Player player)
{
return userMap.getUser(player);
@@ -357,7 +395,7 @@ public class Essentials extends JavaPlugin implements IEssentials
{
return userMap.getUser(playerName);
}
-
+*/
@Override
public World getWorld(final String name)
{
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsTimer.java b/Essentials/src/com/earth2me/essentials/EssentialsTimer.java
index 34aecddc0..6874c069c 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsTimer.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsTimer.java
@@ -9,6 +9,7 @@ import com.earth2me.essentials.user.UserData.TimestampType;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import org.bukkit.entity.Player;
diff --git a/Essentials/src/com/earth2me/essentials/Jails.java b/Essentials/src/com/earth2me/essentials/Jails.java
index 53bef54c4..b23e1bb10 100644
--- a/Essentials/src/com/earth2me/essentials/Jails.java
+++ b/Essentials/src/com/earth2me/essentials/Jails.java
@@ -240,112 +240,114 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
final Entity damager = event.getDamager();
if (damager.getType() == EntityType.PLAYER)
{
- final User user = ess.getUser(damager);
- if (user != null && user.isJailed())
+ final IUser user = ess.getUser(damager);
+ if (user != null && user.getData().isJailed())
{
event.setCancelled(true);
}
}
}
- private class JailPlayerListener implements Listener
- {
- @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
- public void onPlayerInteract(final PlayerInteractEvent event)
- {
- @Cleanup
- final IUser user = ess.getUser(event.getPlayer());
- user.acquireReadLock();
- if (user.getData().isJailed())
- {
- event.setCancelled(true);
- }
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onPlayerRespawn(final PlayerRespawnEvent event)
+ private class JailPlayerListener implements Listener
{
- @Cleanup
- final IUser user = ess.getUser(event.getPlayer());
- user.acquireReadLock();
- if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
+ public void onPlayerInteract(final PlayerInteractEvent event)
{
- return;
+ @Cleanup
+ final IUser user = ess.getUser(event.getPlayer());
+ user.acquireReadLock();
+ if (user.getData().isJailed())
+ {
+ event.setCancelled(true);
+ }
}
- try
+ @EventHandler(priority = EventPriority.HIGHEST)
+ public void onPlayerRespawn(final PlayerRespawnEvent event)
{
- event.setRespawnLocation(getJail(user.getData().getJail()));
- }
- catch (Exception ex)
- {
- if (ess.getSettings().isDebug())
+ @Cleanup
+ final IUser user = ess.getUser(event.getPlayer());
+ user.acquireReadLock();
+ if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ {
+ return;
+ }
+
+ try
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ event.setRespawnLocation(getJail(user.getData().getJail()));
}
- else
+ catch (Exception ex)
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ if (ess.getSettings().isDebug())
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ }
+ else
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ }
}
}
- }
- @EventHandler(priority = EventPriority.HIGH)
- public void onPlayerTeleport(final PlayerTeleportEvent event)
- {
- @Cleanup
- final IUser user = ess.getUser(event.getPlayer());
- user.acquireReadLock();
- if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ @EventHandler(priority = EventPriority.HIGH)
+ public void onPlayerTeleport(final PlayerTeleportEvent event)
{
- return;
- }
+ @Cleanup
+ final IUser user = ess.getUser(event.getPlayer());
+ user.acquireReadLock();
+ if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ {
+ return;
+ }
- try
- {
- event.setTo(getJail(user.getData().getJail()));
- }
- catch (Exception ex)
- {
- if (ess.getSettings().isDebug())
+ try
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ event.setTo(getJail(user.getData().getJail()));
}
- else
+ catch (Exception ex)
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ if (ess.getSettings().isDebug())
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ }
+ else
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ }
}
+ user.sendMessage(_("jailMessage"));
}
- user.sendMessage(_("jailMessage"));
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onPlayerJoin(final PlayerJoinEvent event)
- {
- @Cleanup
- final IUser user = ess.getUser(event.getPlayer());
- user.acquireReadLock();
- if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ @EventHandler(priority = EventPriority.HIGHEST)
+ public void onPlayerJoin(final PlayerJoinEvent event)
{
- return;
- }
+ @Cleanup
+ final IUser user = ess.getUser(event.getPlayer());
+ user.acquireReadLock();
+ if (!user.getData().isJailed() || user.getData().getJail() == null || user.getData().getJail().isEmpty())
+ {
+ return;
+ }
- try
- {
- sendToJail(user, user.getData().getJail());
- }
- catch (Exception ex)
- {
- if (ess.getSettings().isDebug())
+ try
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ sendToJail(user, user.getData().getJail());
}
- else
+ catch (Exception ex)
{
- LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ if (ess.getSettings().isDebug())
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()), ex);
+ }
+ else
+ {
+ LOGGER.log(Level.INFO, _("returnPlayerToJailError", user.getName(), ex.getLocalizedMessage()));
+ }
}
+ user.sendMessage(_("jailMessage"));
}
- user.sendMessage(_("jailMessage"));
}
}
}
diff --git a/Essentials/src/com/earth2me/essentials/Kits.java b/Essentials/src/com/earth2me/essentials/Kits.java
index 3c3e61a5d..a9fd1fa2f 100644
--- a/Essentials/src/com/earth2me/essentials/Kits.java
+++ b/Essentials/src/com/earth2me/essentials/Kits.java
@@ -14,6 +14,8 @@ import org.bukkit.inventory.ItemStack;
public class Kits extends AsyncStorageObjectHolder<com.earth2me.essentials.settings.Kits> implements IKits
{
+
+
public Kits(final IEssentials ess)
{
super(ess, com.earth2me.essentials.settings.Kits.class);
@@ -87,4 +89,16 @@ public class Kits extends AsyncStorageObjectHolder<com.earth2me.essentials.setti
{
return getData().getKits().isEmpty();
}
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
}
diff --git a/Essentials/src/com/earth2me/essentials/Teleport.java b/Essentials/src/com/earth2me/essentials/Teleport.java
index 7118ed1bb..0f3a8eebf 100644
--- a/Essentials/src/com/earth2me/essentials/Teleport.java
+++ b/Essentials/src/com/earth2me/essentials/Teleport.java
@@ -23,6 +23,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public class Teleport implements Runnable, ITeleport
{
+
private static final double MOVE_CONSTANT = 0.3;
@@ -292,7 +293,7 @@ public class Teleport implements Runnable, ITeleport
user.unlock();
}
}
-
+
public void home(Location loc, Trade chargeFor) throws Exception
{
teleport(new Target(loc), chargeFor, TeleportCause.COMMAND);
diff --git a/Essentials/src/com/earth2me/essentials/api/IEssentials.java b/Essentials/src/com/earth2me/essentials/api/IEssentials.java
index 42c9a964d..3972fb26a 100644
--- a/Essentials/src/com/earth2me/essentials/api/IEssentials.java
+++ b/Essentials/src/com/earth2me/essentials/api/IEssentials.java
@@ -1,9 +1,10 @@
package com.earth2me.essentials.api;
-import com.earth2me.essentials.listener.TntExplodeListener;
+import com.earth2me.essentials.EssentialsTimer;
import com.earth2me.essentials.economy.register.Methods;
+import com.earth2me.essentials.listener.TntExplodeListener;
+import java.util.List;
import org.bukkit.World;
-import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -11,9 +12,7 @@ public interface IEssentials extends Plugin
{
void addReloadListener(IReload listener);
- IUser getUser(Player player);
-
- IUser getUser(String playerName);
+ IUser getUser(final Object base);
int broadcastMessage(IUser sender, String message);
@@ -61,4 +60,8 @@ public interface IEssentials extends Plugin
void removeReloadListener(IReload groups);
IEconomy getEconomy();
+
+ List<String> getVanishedPlayers();
+
+ EssentialsTimer getTimer();
}
diff --git a/Essentials/src/com/earth2me/essentials/api/ITeleport.java b/Essentials/src/com/earth2me/essentials/api/ITeleport.java
index 3a5f25f78..16c05a917 100644
--- a/Essentials/src/com/earth2me/essentials/api/ITeleport.java
+++ b/Essentials/src/com/earth2me/essentials/api/ITeleport.java
@@ -18,7 +18,7 @@ public interface ITeleport
void teleport(Entity entity, Trade chargeFor, TeleportCause cause) throws Exception;
- void home(IUser player, String toLowerCase, Trade charge) throws Exception;
+ void home(Location loc, Trade chargeFor) throws Exception;
void respawn(Trade charge, TeleportCause teleportCause) throws Exception;
diff --git a/Essentials/src/com/earth2me/essentials/api/IUser.java b/Essentials/src/com/earth2me/essentials/api/IUser.java
index 091b141df..6d225bce6 100644
--- a/Essentials/src/com/earth2me/essentials/api/IUser.java
+++ b/Essentials/src/com/earth2me/essentials/api/IUser.java
@@ -49,6 +49,8 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void updateActivity(boolean broadcast);
void updateDisplayName();
+
+ void setDisplayNick();
boolean checkJailTimeout(long currentTime);
@@ -107,4 +109,10 @@ 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();
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandback.java b/Essentials/src/com/earth2me/essentials/commands/Commandback.java
index e2c1b266a..2b112ffa9 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandback.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandback.java
@@ -1,8 +1,9 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.economy.Trade;
import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.economy.Trade;
+import com.earth2me.essentials.permissions.WorldPermissions;
public class Commandback extends EssentialsCommand
@@ -10,12 +11,14 @@ public class Commandback extends EssentialsCommand
@Override
protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
- if (user.getWorld() != user.getLastLocation().getWorld() && ess.getSettings().isWorldTeleportPermissions()
- && !user.isAuthorized("essentials.world." + user.getLastLocation().getWorld().getName()))
+ final String worldName = user.getData().getLastLocation().getWorldName();
+ if (user.getWorld() != user.getData().getLastLocation().getBukkitLocation().getWorld() && ess.getSettings().getData().getGeneral().isWorldTeleportPermissions()
+ && WorldPermissions.getPermission(worldName))
{
- throw new Exception(_("noPerm", "essentials.world." + user.getLastLocation().getWorld().getName()));
+ throw new Exception(_("noPerm", "essentials.world." + worldName));
}
- final Trade charge = new Trade(this.getName(), ess);
+ //tod - verify
+ final Trade charge = new Trade(this.toString(), ess);
charge.isAffordableFor(user);
user.sendMessage(_("backUsageMsg"));
user.getTeleport().back(charge);
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbackup.java b/Essentials/src/com/earth2me/essentials/commands/Commandbackup.java
index c00a0d435..e620fa52d 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandbackup.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandbackup.java
@@ -10,12 +10,12 @@ public class Commandbackup extends EssentialsCommand
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
- final Backup backup = ess.getBackup();
+ final IBackup backup = ess.getBackup();
if (backup == null)
{
throw new Exception(_("backupDisabled"));
}
- final String command = ess.getSettings().getBackupCommand();
+ final String command = ess.getSettings().getData().getCommands().getBackupCommand();
if (command == null || "".equals(command) || "save-all".equalsIgnoreCase(command))
{
throw new Exception(_("backupDisabled"));
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandban.java b/Essentials/src/com/earth2me/essentials/commands/Commandban.java
index 88c605f4e..d9d080441 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandban.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandban.java
@@ -50,7 +50,7 @@ public class Commandban extends EssentialsCommand
else
{
banReason = _("defaultBanReason");
- user.setBanReason("");
+ user.getData().getBan().setReason("");
}
user.setBanned(true);
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java b/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java
index e2668e562..72aa66e99 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java
@@ -197,5 +197,4 @@ public class Commandessentials extends EssentialsCommand
{
sender.sendMessage("Unable to modify 'plugins/PluginMetrics/config.yml': " + ex.getMessage());
}
- }
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
index 22976ff92..d0306d76f 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandexp.java
@@ -1,26 +1,22 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.User;
-import com.earth2me.essentials.Util;
+import com.earth2me.essentials.user.User;
+import com.earth2me.essentials.utils.Util;
import com.earth2me.essentials.craftbukkit.SetExpFix;
-import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commandexp extends EssentialsCommand
{
- public Commandexp()
- {
- super("exp");
- }
-
+ //todo - fix this
@Override
- public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
+ public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
- if (args.length == 0)
+ if (args.length == 0 && sender instanceof Player)
{
- showExp(user, user);
+ showExp((User)sender, (User)sender);
}
else if (args[0].equalsIgnoreCase("set") && user.isAuthorized("essentials.exp.set"))
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfly.java b/Essentials/src/com/earth2me/essentials/commands/Commandfly.java
index 22e3c4eea..46ae31a16 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandfly.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandfly.java
@@ -1,9 +1,7 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.User;
-import java.util.Locale;
-import org.bukkit.GameMode;
+import com.earth2me.essentials.api.IUser;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -11,13 +9,8 @@ import org.bukkit.entity.Player;
public class Commandfly extends EssentialsCommand
{
- public Commandfly()
- {
- super("fly");
- }
-
@Override
- protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@@ -28,8 +21,9 @@ public class Commandfly extends EssentialsCommand
}
@Override
- protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
+ protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
+ //todo permissions
if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.fly.others"))
{
flyOtherPlayers(server, user, args[0]);
@@ -47,7 +41,7 @@ public class Commandfly extends EssentialsCommand
{
for (Player matchPlayer : server.matchPlayer(name))
{
- final User player = ess.getUser(matchPlayer);
+ final IUser player = ess.getUser(matchPlayer);
if (player.isHidden())
{
continue;
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
index 72153265e..83a2577d6 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
@@ -19,7 +19,7 @@ public class Commandgamemode extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
- gamemodeOtherPlayers(sender, args[0]);
+ gamemodeOtherPlayers(sender, args);
}
@Override
@@ -27,7 +27,7 @@ public class Commandgamemode extends EssentialsCommand
{
if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GAMEMODE_OTHERS.isAuthorized(user))
{
- gamemodeOtherPlayers(user, args[0]);
+ gamemodeOtherPlayers(user, args);
return;
}
@@ -35,7 +35,7 @@ public class Commandgamemode extends EssentialsCommand
user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName()));
}
- private void gamemodeOtherPlayers(final CommandSender sender, final String name)
+ private void gamemodeOtherPlayers(final CommandSender sender, final String args[])
{
for (Player matchPlayer : server.matchPlayer(args[0]))
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java b/Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java
index dfccdd31c..3ffce7595 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgetpos.java
@@ -13,6 +13,7 @@ public class Commandgetpos extends EssentialsCommand
{
if (args.length > 0 && Permissions.GETPOS_OTHERS.isAuthorized(user))
{
+ //todo permissions
final IUser otherUser = getPlayer(args, 0);
if (!otherUser.isHidden() || user.isAuthorized("essentials.list.hidden"))
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
index aea29cbf3..f0f0380ac 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgive.java
@@ -1,9 +1,9 @@
package com.earth2me.essentials.commands;
+import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.permissions.GivePermissions;
-import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.Util;
+import com.earth2me.essentials.utils.Util;
import java.util.Locale;
import org.bukkit.ChatColor;
import org.bukkit.Material;
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhat.java b/Essentials/src/com/earth2me/essentials/commands/Commandhat.java
index ed82fd16d..7be212373 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandhat.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandhat.java
@@ -1,22 +1,16 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.User;
+import com.earth2me.essentials.api.IUser;
import org.bukkit.Material;
-import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
public class Commandhat extends EssentialsCommand
{
- public Commandhat()
- {
- super("hat");
- }
-
@Override
- protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
+ protected void run(IUser user, String commandLabel, String[] args) throws Exception
{
if (user.getItemInHand().getType() != Material.AIR)
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
index e6fb2e2eb..b9989ddd5 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
@@ -1,16 +1,14 @@
package com.earth2me.essentials.commands;
-import com.earth2me.essentials.utils.textreader.TextInput;
-import com.earth2me.essentials.utils.textreader.IText;
-import com.earth2me.essentials.utils.textreader.TextPager;
-import com.earth2me.essentials.utils.textreader.HelpInput;
-import com.earth2me.essentials.utils.textreader.KeywordReplacer;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.utils.Util;
import com.earth2me.essentials.api.IUser;
-import com.earth2me.essentials.textreader.*;
+import com.earth2me.essentials.utils.Util;
+import com.earth2me.essentials.utils.textreader.HelpInput;
+import com.earth2me.essentials.utils.textreader.IText;
+import com.earth2me.essentials.utils.textreader.KeywordReplacer;
+import com.earth2me.essentials.utils.textreader.TextInput;
+import com.earth2me.essentials.utils.textreader.TextPager;
import java.util.Locale;
-import org.bukkit.Server;
import org.bukkit.command.CommandSender;
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhome.java b/Essentials/src/com/earth2me/essentials/commands/Commandhome.java
index 27e93d39e..645e8fd8b 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandhome.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandhome.java
@@ -1,10 +1,10 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.economy.Trade;
-import com.earth2me.essentials.utils.Util;
import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.economy.Trade;
import com.earth2me.essentials.permissions.Permissions;
+import com.earth2me.essentials.utils.Util;
import java.util.List;
import java.util.Locale;
import org.bukkit.Location;
@@ -89,14 +89,14 @@ public class Commandhome extends EssentialsCommand
throw new NoChargeException();
}
- private void goHome(final User user, final User player, final String home, final Trade charge) throws Exception
+ private void goHome(final IUser user, final IUser player, final String home, final Trade charge) throws Exception
{
final Location loc = player.getHome(home);
if (loc == null)
{
throw new NotEnoughArgumentsException();
}
- if (user.getWorld() != loc.getWorld() && ess.getSettings().isWorldHomePermissions()
+ if (user.getWorld() != loc.getWorld() && ess.getSettings().getData().getGeneral().isWorldHomePermissions()
&& !user.isAuthorized("essentials.world." + loc.getWorld().getName()))
{
throw new Exception(_("noPerm", "essentials.world." + loc.getWorld().getName()));
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java b/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java
index fd6a6a167..349caaf63 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandinvsee.java
@@ -1,10 +1,6 @@
package com.earth2me.essentials.commands;
-import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IUser;
-import com.earth2me.essentials.user.Inventory;
-import java.util.Arrays;
-import org.bukkit.inventory.ItemStack;
public class Commandinvsee extends EssentialsCommand
@@ -16,7 +12,7 @@ public class Commandinvsee extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
- final User invUser = getPlayer(server, args, 0);
+ final IUser invUser = getPlayer(args, 0);
user.setInvSee(true);
user.openInventory(invUser.getInventory());
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commanditem.java b/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
index 1ea96ff60..bf955fbb5 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commanditem.java
@@ -25,25 +25,21 @@ public class Commanditem extends EssentialsCommand
{
throw new Exception(_("cantSpawnItem", itemname));
}
+
try
{
- stack.setAmount(Integer.parseInt(args[1]));
- }
-
- if (args.length > 2)
- {
- for (int i = 2; i < args.length; i++)
+ if (args.length > 1 && Integer.parseInt(args[1]) > 0)
{
stack.setAmount(Integer.parseInt(args[1]));
}
- else if (ess.getSettings().getDefaultStackSize() > 0)
+ else if (ess.getSettings().getData().getGeneral().getDefaultStacksize() > 0)
{
- stack.setAmount(ess.getSettings().getDefaultStackSize());
+ stack.setAmount(ess.getSettings().getData().getGeneral().getDefaultStacksize());
}
- else if (ess.getSettings().getOversizedStackSize() > 0 && user.isAuthorized("essentials.oversizedstacks"))
+ else if (ess.getSettings().getData().getGeneral().getOversizedStacksize()> 0 && user.isAuthorized("essentials.oversizedstacks"))
{
- stack.setAmount(ess.getSettings().getOversizedStackSize());
- }
+ stack.setAmount(ess.getSettings().getData().getGeneral().getOversizedStacksize());
+ }
if (args.length > 2)
{
for (int i = 2; i < args.length; i++)
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
index bab73b196..2d71302b7 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
@@ -7,7 +7,9 @@ import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.permissions.KitPermissions;
import com.earth2me.essentials.settings.Kit;
import java.util.Collection;
+import java.util.List;
import java.util.Locale;
+import java.util.Map;
import org.bukkit.command.CommandSender;
@@ -38,7 +40,7 @@ public class Commandkit extends EssentialsCommand
}
else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
{
- final User userTo = getPlayer(server, args, 1, true);
+ final IUser userTo = getPlayer(args, 1, true);
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH));
giveKit(userTo, user, kitName);
}
@@ -50,7 +52,7 @@ public class Commandkit extends EssentialsCommand
}
@Override
- public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 2)
{
@@ -59,14 +61,13 @@ public class Commandkit extends EssentialsCommand
}
else
{
- final User userTo = getPlayer(server, args, 1, true);
+ final IUser userTo = getPlayer(args, 1, true);
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
final Kit kit = ess.getKits().getKit(kitName);
+ final List<String> items = Kit.getItems(userTo, kit);
+ Kit.expandItems(ess,userTo,items);
- if (!KitPermissions.getPermission(kitName).isAuthorized(user))
- {
- throw new Exception(_("noKitPermission", "essentials.kit." + kitName));
- }
+
//TODO: Check kit delay
sender.sendMessage(_("kitGive", kitName));
@@ -86,7 +87,7 @@ public class Commandkit extends EssentialsCommand
}
}
- private void giveKit(User userTo, User userFrom, String kitName) throws Exception
+ private void giveKit(IUser userTo, IUser userFrom, String kitName) throws Exception
{
final Map<String, Object> kit = ess.getSettings().getKit(kitName);
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawner.java b/Essentials/src/com/earth2me/essentials/commands/Commandspawner.java
index c68290c65..96670fa94 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandspawner.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandspawner.java
@@ -39,7 +39,7 @@ public class Commandspawner extends EssentialsCommand
{
throw new Exception(_("invalidMob"));
}
- if (ess.getSettings().getProtectPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
+ if (ess.getSettings().getData().getGeneral().getPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
{
throw new Exception(_("disabledToSpawnMob"));
}
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java
index 9b28f5d6c..35ba8dedc 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java
@@ -1,10 +1,10 @@
package com.earth2me.essentials.commands;
-import com.earth2me.essentials.utils.DescParseTickFormat;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.permissions.Permissions;
-import com.earth2me.essentials.Util;
+import com.earth2me.essentials.utils.DescParseTickFormat;
+import com.earth2me.essentials.utils.Util;
import java.util.*;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java b/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java
index 56041fc3e..931f50202 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandtpo.java
@@ -17,7 +17,7 @@ public class Commandtpo extends EssentialsCommand
throw new NotEnoughArgumentsException();
case 1:
- final User player = getPlayer(server, args, 0, true);
+ final IUser player = getPlayer(args, 0, true);
if (!player.isOnline() || (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden")))
{
throw new NoSuchFieldException(_("playerNotFound"));
@@ -37,8 +37,8 @@ public class Commandtpo extends EssentialsCommand
throw new Exception(_("noPerm", "essentials.tp.others"));
}
user.sendMessage(_("teleporting"));
- final User target = getPlayer(server, args, 0, true);
- final User toPlayer = getPlayer(server, args, 1, true);
+ final IUser target = getPlayer(args, 0, true);
+ final IUser toPlayer = getPlayer(args, 1, true);
if (!target.isOnline() || !toPlayer.isOnline()
|| ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden")))
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java b/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java
index ca50a068d..80daf2b16 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandtppos.java
@@ -38,14 +38,14 @@ public class Commandtppos extends EssentialsCommand
}
@Override
- public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 4)
{
throw new NotEnoughArgumentsException();
}
- User user = ess.getUser(server.getPlayer(args[0]));
+ IUser user = ess.getUser(server.getPlayer(args[0]));
final int x = Integer.parseInt(args[1]);
final int y = Integer.parseInt(args[2]);
final int z = Integer.parseInt(args[3]);
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java b/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
index b55bd76a4..032631056 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandvanish.java
@@ -1,21 +1,14 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.User;
-import org.bukkit.ChatColor;
-import org.bukkit.Server;
+import com.earth2me.essentials.api.IUser;
import org.bukkit.entity.Player;
public class Commandvanish extends EssentialsCommand
{
- public Commandvanish()
- {
- super("vanish");
- }
-
@Override
- protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
+ protected void run(IUser user, String commandLabel, String[] args) throws Exception
{
if (user.isVanished())
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java b/Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java
index c5b592c2a..c2e9c5c44 100644
--- a/Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java
+++ b/Essentials/src/com/earth2me/essentials/commands/WarpNotFoundException.java
@@ -1,4 +1,5 @@
package com.earth2me.essentials.commands;
+import static com.earth2me.essentials.I18n._;
public class WarpNotFoundException extends Exception
diff --git a/Essentials/src/com/earth2me/essentials/economy/MoneyHolder.java b/Essentials/src/com/earth2me/essentials/economy/MoneyHolder.java
index 179e09210..cdde3506e 100644
--- a/Essentials/src/com/earth2me/essentials/economy/MoneyHolder.java
+++ b/Essentials/src/com/earth2me/essentials/economy/MoneyHolder.java
@@ -8,6 +8,20 @@ import java.io.IOException;
public class MoneyHolder extends AsyncStorageObjectHolder<Money>
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+
public MoneyHolder(IEssentials ess)
{
super(ess, Money.class);
diff --git a/Essentials/src/com/earth2me/essentials/economy/WorthHolder.java b/Essentials/src/com/earth2me/essentials/economy/WorthHolder.java
index 598c22c4c..499b92bac 100644
--- a/Essentials/src/com/earth2me/essentials/economy/WorthHolder.java
+++ b/Essentials/src/com/earth2me/essentials/economy/WorthHolder.java
@@ -15,6 +15,20 @@ import org.bukkit.material.MaterialData;
public class WorthHolder extends AsyncStorageObjectHolder<com.earth2me.essentials.economy.Worth> implements IWorth
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+
public WorthHolder(final IEssentials ess)
{
super(ess, com.earth2me.essentials.economy.Worth.class);
diff --git a/Essentials/src/com/earth2me/essentials/listener/TntExplodeListener.java b/Essentials/src/com/earth2me/essentials/listener/TntExplodeListener.java
index 4710187f1..778469605 100644
--- a/Essentials/src/com/earth2me/essentials/listener/TntExplodeListener.java
+++ b/Essentials/src/com/earth2me/essentials/listener/TntExplodeListener.java
@@ -1,7 +1,6 @@
package com.earth2me.essentials.listener;
import com.earth2me.essentials.api.IEssentials;
-import com.earth2me.essentials.craftbukkit.FakeExplosion;
import java.util.concurrent.atomic.AtomicBoolean;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.EventHandler;
diff --git a/Essentials/src/com/earth2me/essentials/metrics/MetricsListener.java b/Essentials/src/com/earth2me/essentials/metrics/MetricsListener.java
index 4af8f9173..5c71e54f9 100644
--- a/Essentials/src/com/earth2me/essentials/metrics/MetricsListener.java
+++ b/Essentials/src/com/earth2me/essentials/metrics/MetricsListener.java
@@ -1,7 +1,7 @@
package com.earth2me.essentials.metrics;
-import com.earth2me.essentials.IEssentials;
-import com.earth2me.essentials.User;
+import com.earth2me.essentials.api.IEssentials;
+import com.earth2me.essentials.api.IUser;
import java.util.logging.Level;
import org.bukkit.Server;
import org.bukkit.entity.Player;
@@ -27,7 +27,7 @@ public class MetricsListener implements Listener
@EventHandler(priority = EventPriority.MONITOR)
public void onPlayerJoin(final PlayerJoinEvent event)
{
- final User player = ess.getUser(event.getPlayer());
+ final IUser player = ess.getUser(event.getPlayer());
if (ess.getSettings().isMetricsEnabled() == false && (player.isAuthorized("essentials.essentials") || player.isAuthorized("bukkit.broadcast.admin")))
{
player.sendMessage("PluginMetrics collects minimal statistic data, starting in about 5 minutes.");
diff --git a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java
index 0ea692cc9..867b9e876 100644
--- a/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java
+++ b/Essentials/src/com/earth2me/essentials/metrics/MetricsStarter.java
@@ -1,6 +1,6 @@
package com.earth2me.essentials.metrics;
-import com.earth2me.essentials.IEssentials;
+import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.metrics.Metrics.Graph;
import com.earth2me.essentials.metrics.Metrics.Plotter;
import com.earth2me.essentials.register.payment.Method;
diff --git a/Essentials/src/com/earth2me/essentials/ranks/GMGroups.java b/Essentials/src/com/earth2me/essentials/ranks/GMGroups.java
index 244ff8410..512df1e0d 100644
--- a/Essentials/src/com/earth2me/essentials/ranks/GMGroups.java
+++ b/Essentials/src/com/earth2me/essentials/ranks/GMGroups.java
@@ -91,7 +91,7 @@ public class GMGroups implements IRanks {
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceColor(format);
+ format = Util.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
diff --git a/Essentials/src/com/earth2me/essentials/ranks/RanksStorage.java b/Essentials/src/com/earth2me/essentials/ranks/RanksStorage.java
index 7f6e5dd84..85658863b 100644
--- a/Essentials/src/com/earth2me/essentials/ranks/RanksStorage.java
+++ b/Essentials/src/com/earth2me/essentials/ranks/RanksStorage.java
@@ -19,6 +19,18 @@ import lombok.Cleanup;
public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRanks
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
public RanksStorage(final IEssentials ess)
{
super(ess, Ranks.class);
@@ -143,7 +155,7 @@ public class RanksStorage extends AsyncStorageObjectHolder<Ranks> implements IRa
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceColor(format);
+ format = Util.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
diff --git a/Essentials/src/com/earth2me/essentials/ranks/VaultGroups.java b/Essentials/src/com/earth2me/essentials/ranks/VaultGroups.java
index 1d94b6089..36c9742cf 100644
--- a/Essentials/src/com/earth2me/essentials/ranks/VaultGroups.java
+++ b/Essentials/src/com/earth2me/essentials/ranks/VaultGroups.java
@@ -72,7 +72,7 @@ public class VaultGroups implements IRanks
public MessageFormat getChatFormat(final IUser player)
{
String format = getRawChatFormat(player);
- format = Util.replaceColor(format);
+ format = Util.replaceFormat(format);
format = format.replace("{DISPLAYNAME}", "%1$s");
format = format.replace("{GROUP}", "{0}");
format = format.replace("{MESSAGE}", "%2$s");
diff --git a/Essentials/src/com/earth2me/essentials/settings/General.java b/Essentials/src/com/earth2me/essentials/settings/General.java
index 85238977f..033a6ce31 100644
--- a/Essentials/src/com/earth2me/essentials/settings/General.java
+++ b/Essentials/src/com/earth2me/essentials/settings/General.java
@@ -2,6 +2,8 @@ package com.earth2me.essentials.settings;
import com.earth2me.essentials.storage.Comment;
import com.earth2me.essentials.storage.StorageObject;
+import java.util.HashMap;
+import java.util.Map;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -17,6 +19,8 @@ public class General implements StorageObject
@Comment("Turn this on, if you want to see more error messages, if something goes wrong.")
private boolean debug = false;
@Comment(
+
+
{
"Set the locale here, if you want to change the language of Essentials.",
"If this is not set, Essentials will use the language of your computer.",
@@ -24,6 +28,8 @@ public class General implements StorageObject
})
private String locale;
@Comment(
+
+
{
"The number of items given, if the quantity parameter is left out in /item or /give.",
"If this number is below 1, the maximum stack size size is given. If oversized stacks",
@@ -31,6 +37,8 @@ public class General implements StorageObject
})
private int defaultStacksize = -1;
@Comment(
+
+
{
"Oversized stacks are stacks that ignore the normal max stacksize.",
"They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission.",
@@ -44,6 +52,8 @@ public class General implements StorageObject
FILE, GROUPMANAGER, VAULT
}
@Comment(
+
+
{
"Sets the place where group options should be stored:",
" FILE: Options are stored inside groups.yml in the Essentials folder",
@@ -51,4 +61,36 @@ public class General implements StorageObject
" VAULT: Options are stored using a permissions plugin supported by Vault"
})
private GroupStorage groupStorage = GroupStorage.FILE;
+ @Comment(
+
+ {
+ "The delay, in seconds, a player can't be attacked by other players after he has been teleported by a command",
+ "This will also prevent that the player can attack other players"
+ })
+ private long teleportInvulnerability = 0;
+
+ public long getTeleportInvulnerability()
+ {
+ return teleportInvulnerability * 1000;
+ }
+
+ @Comment(
+ {
+ "Set to true to enable per-world permissions for teleporting between worlds with essentials commands",
+ "This applies to /world, /back, /tp[a|o][here|all], but not warps.",
+ "Give someone permission to teleport to a world with essentials.world.<worldname>"
+ })
+ private boolean worldTeleportPermissions = false;
+
+ @Comment("Prevent creatures spawning")
+ private Map<String, Boolean> creatureSpawn = new HashMap<String, Boolean>();
+
+ public boolean getPreventSpawn(String creatureName)
+ {
+ if (creatureSpawn == null)
+ {
+ return false;
+ }
+ return creatureSpawn.get(creatureName);
+ }
}
diff --git a/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java b/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
index 434d9b922..56aecf378 100644
--- a/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
+++ b/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
@@ -9,6 +9,18 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class SettingsHolder extends AsyncStorageObjectHolder<Settings> implements ISettings
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
private final transient AtomicBoolean debug = new AtomicBoolean(false);
public SettingsHolder(final IEssentials ess)
{
diff --git a/Essentials/src/com/earth2me/essentials/settings/SpawnsHolder.java b/Essentials/src/com/earth2me/essentials/settings/SpawnsHolder.java
index 19c9198da..c2dc0def2 100644
--- a/Essentials/src/com/earth2me/essentials/settings/SpawnsHolder.java
+++ b/Essentials/src/com/earth2me/essentials/settings/SpawnsHolder.java
@@ -29,6 +29,19 @@ import org.bukkit.plugin.EventExecutor;
public class SpawnsHolder extends AsyncStorageObjectHolder<Spawns> implements IEssentialsModule
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
public SpawnsHolder(final IEssentials ess)
{
super(ess, Spawns.class);
diff --git a/Essentials/src/com/earth2me/essentials/settings/WarpHolder.java b/Essentials/src/com/earth2me/essentials/settings/WarpHolder.java
index b6a9f2879..a2facb824 100644
--- a/Essentials/src/com/earth2me/essentials/settings/WarpHolder.java
+++ b/Essentials/src/com/earth2me/essentials/settings/WarpHolder.java
@@ -10,6 +10,19 @@ import java.io.IOException;
public class WarpHolder extends AsyncStorageObjectHolder<Warp> implements IWarp
{
+
+ @Override
+ public void finishRead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void finishWrite()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
private final String name;
public WarpHolder(String name, IEssentials ess)
diff --git a/Essentials/src/com/earth2me/essentials/settings/WorldOptions.java b/Essentials/src/com/earth2me/essentials/settings/WorldOptions.java
index 33271b460..95228684b 100644
--- a/Essentials/src/com/earth2me/essentials/settings/WorldOptions.java
+++ b/Essentials/src/com/earth2me/essentials/settings/WorldOptions.java
@@ -5,10 +5,12 @@ import com.earth2me.essentials.storage.StorageObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
+
@Data
@EqualsAndHashCode(callSuper = false)
public class WorldOptions implements StorageObject
{
@Comment("Disables godmode for all players if they teleport to this world.")
- private boolean godmode = true;
+ private boolean godmode = true;
+
}
diff --git a/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java b/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java
index e7a93e7fe..037fa4292 100644
--- a/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java
+++ b/Essentials/src/com/earth2me/essentials/storage/AbstractDelayedYamlFileReader.java
@@ -9,11 +9,11 @@ import java.io.IOException;
import java.util.concurrent.locks.ReentrantLock;
import java.util.logging.Level;
import org.bukkit.Bukkit;
-import org.bukkit.plugin.Plugin;
public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> implements Runnable
{
+
private final transient Class<T> clazz;
protected final transient IEssentials plugin;
private final transient ReentrantLock lock = new ReentrantLock();
@@ -41,10 +41,11 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp
@Override
public void run()
{
+ File file = null;
lock.lock();
try
{
- final File file = onStart();
+ file = onStart();
try
{
final FileReader reader = new FileReader(file);
@@ -81,7 +82,7 @@ public abstract class AbstractDelayedYamlFileReader<T extends StorageObject> imp
}
catch (IOException ex)
{
- onException();
+ onException(ex);
if (plugin.getSettings() == null || plugin.getSettings().isDebug())
{
Bukkit.getLogger().log(Level.INFO, "File not found: " + file.toString());
diff --git a/Essentials/src/com/earth2me/essentials/user/IOfflinePlayer.java b/Essentials/src/com/earth2me/essentials/user/IOfflinePlayer.java
index 65304e76a..18667c8ca 100644
--- a/Essentials/src/com/earth2me/essentials/user/IOfflinePlayer.java
+++ b/Essentials/src/com/earth2me/essentials/user/IOfflinePlayer.java
@@ -15,4 +15,6 @@ public interface IOfflinePlayer
void setBanned(boolean bln);
boolean hasPermission(Permission perm);
+
+ void setName(final String name);
} \ No newline at end of file
diff --git a/Essentials/src/com/earth2me/essentials/user/User.java b/Essentials/src/com/earth2me/essentials/user/User.java
index 59319fb20..e181ac1e3 100644
--- a/Essentials/src/com/earth2me/essentials/user/User.java
+++ b/Essentials/src/com/earth2me/essentials/user/User.java
@@ -1,35 +1,74 @@
package com.earth2me.essentials.user;
-import com.earth2me.essentials.api.ChargeException;
import com.earth2me.essentials.Console;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.Teleport;
-import com.earth2me.essentials.utils.Util;
import com.earth2me.essentials.api.*;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
-import com.earth2me.essentials.permissions.Permissions;
import com.earth2me.essentials.economy.register.Method;
+import com.earth2me.essentials.permissions.Permissions;
import com.earth2me.essentials.utils.DateUtil;
+import com.earth2me.essentials.utils.Util;
+import java.net.InetSocketAddress;
import java.util.Calendar;
+import java.util.Collection;
import java.util.GregorianCalendar;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.logging.Level;
import java.util.logging.Logger;
import lombok.Cleanup;
import lombok.Getter;
import lombok.Setter;
+import org.bukkit.Achievement;
import org.bukkit.Bukkit;
+import org.bukkit.Effect;
+import org.bukkit.EntityEffect;
+import org.bukkit.GameMode;
+import org.bukkit.Instrument;
import org.bukkit.Location;
import org.bukkit.Material;
+import org.bukkit.Note;
import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
+import org.bukkit.Statistic;
+import org.bukkit.World;
+import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
+import org.bukkit.conversations.Conversation;
+import org.bukkit.conversations.ConversationAbandonedEvent;
+import org.bukkit.entity.Arrow;
+import org.bukkit.entity.Egg;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
+import org.bukkit.entity.Projectile;
+import org.bukkit.entity.Snowball;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.bukkit.inventory.InventoryView.Property;
import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.PlayerInventory;
+import org.bukkit.map.MapView;
+import org.bukkit.metadata.MetadataValue;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionAttachment;
+import org.bukkit.permissions.PermissionAttachmentInfo;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.potion.PotionEffect;
+import org.bukkit.potion.PotionEffectType;
+import org.bukkit.util.Vector;
public class User extends UserBase implements IUser
{
+
private CommandSender replyTo = null;
@Getter
private transient IUser teleportRequester;
@@ -46,6 +85,10 @@ public class User extends UserBase implements IUser
@Getter
@Setter
private boolean hidden = false;
+ @Getter
+ private transient boolean vanished;
+ @Getter
+ private boolean invSee = false;
private transient Location afkPosition;
private static final Logger logger = Bukkit.getLogger();
private AtomicBoolean gotMailInfo = new AtomicBoolean(false);
@@ -60,8 +103,8 @@ public class User extends UserBase implements IUser
{
super(offlinePlayer, ess);
teleport = new Teleport(this, ess);
- }
-
+ }
+
public void example()
{
// Cleanup will call close at the end of the function
@@ -687,24 +730,1099 @@ public class User extends UserBase implements IUser
return cost <= mon;
}
+ @Override
public void updateMoneyCache(double userMoney) {
if (super.getMoney() != userMoney) {
super.setMoney(userMoney);
}
}
+ @Override
public boolean canAfford(double amount, boolean b) {
return true;
+ }
+ private transient long teleportInvulnerabilityTimestamp = 0;
+
+ public void enableInvulnerabilityAfterTeleport()
+ {
+ @Cleanup
+ final ISettings settings = ess.getSettings();
+ settings.acquireReadLock();
+
+ final long time = settings.getData().getGeneral().getTeleportInvulnerability();
+ if (time > 0)
+ {
+ teleportInvulnerabilityTimestamp = System.currentTimeMillis() + time;
+ }
}
@Override
- public boolean canAfford(final double cost)
+ public void resetInvulnerabilityAfterTeleport()
{
- final double mon = getMoney();
- if (isAuthorized("essentials.eco.loan"))
+ if (teleportInvulnerabilityTimestamp != 0
+ && teleportInvulnerabilityTimestamp < System.currentTimeMillis())
{
- return (mon - cost) >= ess.getSettings().getMinMoney();
+ teleportInvulnerabilityTimestamp = 0;
}
- return cost <= mon;
}
+
+ public void toggleVanished()
+ {
+ vanished = !vanished;
+ if (vanished)
+ {
+ ess.getVanishedPlayers().add(getName());
+ }
+ else
+ {
+ ess.getVanishedPlayers().remove(getName());
+ }
+ }
+
+
+ //start//
+ @Override
+ public void setDisplayName(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public String getPlayerListName()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setPlayerListName(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setCompassTarget(Location lctn)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Location getCompassTarget()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public InetSocketAddress getAddress()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendRawMessage(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void kickPlayer(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void chat(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean performCommand(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isSneaking()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setSneaking(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isSprinting()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setSprinting(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void saveData()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void loadData()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setSleepingIgnored(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isSleepingIgnored()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void playNote(Location lctn, byte b, byte b1)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void playNote(Location lctn, Instrument i, Note note)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void playEffect(Location lctn, Effect effect, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public <T> void playEffect(Location lctn, Effect effect, T t)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendBlockChange(Location lctn, Material mtrl, byte b)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean sendChunkChange(Location lctn, int i, int i1, int i2, byte[] bytes)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendBlockChange(Location lctn, int i, byte b)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendMap(MapView mv)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void updateInventory()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void awardAchievement(Achievement a)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void incrementStatistic(Statistic ststc)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void incrementStatistic(Statistic ststc, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void incrementStatistic(Statistic ststc, Material mtrl)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void incrementStatistic(Statistic ststc, Material mtrl, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setPlayerTime(long l, boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public long getPlayerTime()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public long getPlayerTimeOffset()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isPlayerTimeRelative()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void resetPlayerTime()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void giveExp(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public float getExp()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setExp(float f)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getLevel()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setLevel(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getTotalExperience()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setTotalExperience(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public float getExhaustion()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setExhaustion(float f)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public float getSaturation()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setSaturation(float f)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getFoodLevel()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setFoodLevel(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setBedSpawnLocation(Location lctn)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean getAllowFlight()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setAllowFlight(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void hidePlayer(Player player)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void showPlayer(Player player)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean canSee(Player player)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isFlying()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setFlying(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public PlayerInventory getInventory()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean setWindowProperty(Property prprt, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public InventoryView getOpenInventory()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public InventoryView openInventory(Inventory invntr)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public InventoryView openWorkbench(Location lctn, boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public InventoryView openEnchanting(Location lctn, boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void openInventory(InventoryView iv)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void closeInventory()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public ItemStack getItemInHand()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setItemInHand(ItemStack is)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public ItemStack getItemOnCursor()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setItemOnCursor(ItemStack is)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isSleeping()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getSleepTicks()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public GameMode getGameMode()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setGameMode(GameMode gm)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isBlocking()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getHealth()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setHealth(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getMaxHealth()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public double getEyeHeight()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public double getEyeHeight(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Location getEyeLocation()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public List<Block> getLineOfSight(HashSet<Byte> hs, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Block getTargetBlock(HashSet<Byte> hs, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public List<Block> getLastTwoTargetBlocks(HashSet<Byte> hs, int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Egg throwEgg()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Snowball throwSnowball()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Arrow shootArrow()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public <T extends Projectile> T launchProjectile(Class<? extends T> type)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getRemainingAir()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setRemainingAir(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getMaximumAir()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setMaximumAir(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void damage(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void damage(int i, Entity entity)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getMaximumNoDamageTicks()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setMaximumNoDamageTicks(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getLastDamage()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setLastDamage(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getNoDamageTicks()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setNoDamageTicks(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Player getKiller()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean addPotionEffect(PotionEffect pe)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean addPotionEffect(PotionEffect pe, boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean addPotionEffects(Collection<PotionEffect> clctn)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean hasPotionEffect(PotionEffectType pet)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void removePotionEffect(PotionEffectType pet)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Collection<PotionEffect> getActivePotionEffects()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Location getLocation()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setVelocity(Vector vector)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Vector getVelocity()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public World getWorld()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean teleport(Location lctn)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean teleport(Location lctn, TeleportCause tc)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean teleport(Entity entity)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean teleport(Entity entity, TeleportCause tc)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public List<Entity> getNearbyEntities(double d, double d1, double d2)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getEntityId()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getFireTicks()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getMaxFireTicks()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setFireTicks(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void remove()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isDead()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Server getServer()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Entity getPassenger()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean setPassenger(Entity entity)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isEmpty()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean eject()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public float getFallDistance()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setFallDistance(float f)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setLastDamageCause(EntityDamageEvent ede)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public EntityDamageEvent getLastDamageCause()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public UUID getUniqueId()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public int getTicksLived()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setTicksLived(int i)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void playEffect(EntityEffect ee)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public EntityType getType()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isInsideVehicle()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean leaveVehicle()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Entity getVehicle()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setMetadata(String string, MetadataValue mv)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public List<MetadataValue> getMetadata(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean hasMetadata(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void removeMetadata(String string, Plugin plugin)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isPermissionSet(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isPermissionSet(Permission prmsn)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean hasPermission(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String string, boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String string, boolean bln, int i)
+ {
+ 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.");
+ }
+
+ @Override
+ public void recalculatePermissions()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Set<PermissionAttachmentInfo> getEffectivePermissions()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isOp()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setOp(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isConversing()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void acceptConversationInput(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean beginConversation(Conversation c)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void abandonConversation(Conversation c)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void abandonConversation(Conversation c, ConversationAbandonedEvent cae)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendMessage(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendMessage(String[] strings)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isOnline()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isBanned()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isWhitelisted()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setWhitelisted(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Player getPlayer()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public long getFirstPlayed()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public long getLastPlayed()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean hasPlayedBefore()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Map<String, Object> serialize()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void sendPluginMessage(Plugin plugin, String string, byte[] bytes)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Set<String> getListeningPluginChannels()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setName(String name)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+ //end//
}
diff --git a/Essentials/src/com/earth2me/essentials/utils/Util.java b/Essentials/src/com/earth2me/essentials/utils/Util.java
index 720376c66..889fd5bf8 100644
--- a/Essentials/src/com/earth2me/essentials/utils/Util.java
+++ b/Essentials/src/com/earth2me/essentials/utils/Util.java
@@ -3,6 +3,7 @@ package com.earth2me.essentials.utils;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.ISettings;
+import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.api.InvalidNameException;
import com.earth2me.essentials.utils.gnu.inet.encoding.Punycode;
import com.earth2me.essentials.utils.gnu.inet.encoding.PunycodeException;
@@ -178,7 +179,7 @@ public final class Util
public static String formatAsCurrency(final double value)
{
-
+
String str = dFormat.format(value);
if (str.endsWith(".00"))
{
@@ -333,26 +334,113 @@ public final class Util
perm.recalculatePermissibles();
return perm;
}
- private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-FKa-fk]");
- private static transient final Pattern EASY_COLOR_PATTERN = Pattern.compile("&([0-9a-fk])");
+ private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
+ private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]");
+ private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");
+ private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-Fa-f]");
+ private static transient final Pattern VANILLA_MAGIC_PATTERN = Pattern.compile("\u00A7+[Kk]");
+ private static transient final Pattern VANILLA_FORMAT_PATTERN = Pattern.compile("\u00A7+[L-ORl-or]");
+ private static transient final Pattern REPLACE_COLOR_PATTERN = Pattern.compile("&([0-9a-f])");
+ private static transient final Pattern REPLACE_MAGIC_PATTERN = Pattern.compile("&(k)");
+ private static transient final Pattern REPLACE_FORMAT_PATTERN = Pattern.compile("&([l-or])");
- public static String stripColor(final String input)
+ public static String stripFormat(final String input)
{
if (input == null)
{
return null;
}
+ return VANILLA_PATTERN.matcher(input).replaceAll("");
+ }
- return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
+ public static String replaceFormat(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ return REPLACE_PATTERN.matcher(input).replaceAll("\u00a7$1");
+ }
+
+ public static String blockURL(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ String text = URL_PATTERN.matcher(input).replaceAll("$1 $2");
+ while (URL_PATTERN.matcher(text).find())
+ {
+ text = URL_PATTERN.matcher(text).replaceAll("$1 $2");
+ }
+ return text;
+ }
+
+ public static String formatString(final IUser user, final String permBase, final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+ String message;
+ if (user.isAuthorized(permBase + ".color"))
+ {
+ message = Util.replaceColor(input, REPLACE_COLOR_PATTERN);
+ }
+ else
+ {
+ message = Util.stripColor(input, VANILLA_COLOR_PATTERN);
+ }
+ if (user.isAuthorized(permBase + ".magic"))
+ {
+ message = Util.replaceColor(message, REPLACE_MAGIC_PATTERN);
+ }
+ else
+ {
+ message = Util.stripColor(message, VANILLA_MAGIC_PATTERN);
+ }
+ if (user.isAuthorized(permBase + ".format"))
+ {
+ message = Util.replaceColor(message, REPLACE_FORMAT_PATTERN);
+ }
+ else
+ {
+ message = Util.stripColor(message, VANILLA_FORMAT_PATTERN);
+ }
+ return message;
}
- public static String replaceColor(final String input)
+ public static String formatMessage(final IUser user, final String permBase, final String input)
{
if (input == null)
{
return null;
}
+ String message = formatString(user, permBase, input);
+ if (!user.isAuthorized(permBase + ".url"))
+ {
+ message = Util.blockURL(message);
+ }
+ return message;
+ }
- return EASY_COLOR_PATTERN.matcher(input).replaceAll("\u00a7$1");
+ public static String stripColor(final String input)
+ {
+ if (input == null)
+ {
+ return null;
+ }
+
+ return VANILLA_COLOR_PATTERN.matcher(input).replaceAll("");
+ }
+
+ private static String stripColor(final String input, final Pattern pattern)
+ {
+ return pattern.matcher(input).replaceAll("");
+ }
+
+ private static String replaceColor(final String input, final Pattern pattern)
+ {
+ return pattern.matcher(input).replaceAll("\u00a7$1");
}
}
diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java
index 6a86de1f1..acf08a5dd 100644
--- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java
+++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java
@@ -9,6 +9,7 @@ import com.earth2me.essentials.api.IRanks;
import com.earth2me.essentials.api.ISettings;
import com.earth2me.essentials.api.IUser;
import com.earth2me.essentials.permissions.Permissions;
+import com.earth2me.essentials.storage.Location;
import java.util.Locale;
import java.util.Map;
import java.util.logging.Logger;
diff --git a/pom.xml b/pom.xml
index 5d9ef3b78..e5688a3a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,7 +74,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <bukkit.version>1.2.5-R1.2-SNAPSHOT</bukkit.version>
+ <bukkit.version>1.2.5-R3.1-SNAPSHOT</bukkit.version>
<build.number>Unknown</build.number>
<org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
<org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>2</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>